详情内容

node文件读操作

fs.open(path, flags[, mode], callback)

增加与node v0.0.2

参数说明:

  1. path 字符串或缓冲区数据<String> | <Buffer>

  2. flags 字符串或数字 <String> | <Number>

  3. mode 整型<Integer>

  4. callback 回调函数 <Function>

异步文件读写,flags参数可以是:

  • 'r'打开文件只读,文件不存在抛出异常。

  • 'r+'打开文件进行读与写,文件不存在抛出异常。

  • 'rs+'同步模式下的读写文件。指示操作系统绕过本地文件系统缓存。这主要是用于打开文件在NFS安装允许你跳过可能陈旧的本地缓存。它有一个非常真实的I / O性能的影响,所以不要使用此标志,除非你需要它。请注意,这不是fs.open()的同步阻塞调用。如果你这么想,那么你应该使用fs.opensync()。

  • 'w'打开文件进行写,文件不存在则创建,文件存在则覆盖。

  • 'wx'和'w'一样,但是如果文件存在则写入失败。

  • 'w+'打开文件进行读和写,文件不存在则创建,文件存在则覆盖。

  • 'wx+'和'w+'一样,但是如果文件存在则写入失败。

  • 'a'打开文件进行追加操作,文件不存在则创建

  • 'ax'和'a'一样,文件存在写入失败。

  • 'a+'打开文件进行读和追加,文件不存在则创建。

  • 'ax+'和'a+'一样,文件存在则写入失败。

模式设置文件模式(权限和粘性位),但仅当文件被创建时。默认是0666,可读可写。

回调函数有两个参数(err, fd)。

专属标志“X”(O_EXCL)保证路径是新创建的。在POSIX系统,路径被认为文件存在与不存在的符号链接。专用标志可以使用网络文件系统,也可以不使用。

flags也可以是数字;常用的常数可从fs.constants中获取。在Windows中,标志转换为等效的适用,例如o_wronly到file_generic_write,或o_excl | o_creat到create_new,作为被createfilew。

在Linux中,在附加模式下打开文件时,位置写不起作用.。内核忽略了位置参数,总是会将数据追加到文件末尾。

注:fs.open()的行为是平台特定的一些标志。因此,在OS X和Linux上用“a+”标记打开一个目录-见下面的例子-将返回一个错误。相比之下,在Windows和FreeBSD,文件描述符将返回。

// OS X and Linux
fs.open('<directory>', 'a+', (err, fd) => {
  // => [Error: EISDIR: illegal operation on a directory, open <directory>]
});

// Windows and FreeBSD
fs.open('<directory>', 'a+', (err, fd) => {
  // => null, <fd>
});

fs.openSync(path, flags[, mode])

增加于node v0.1.21

参数说明:

  1. path 字符串与缓冲区数据 <String> | <Buffer>

  2. flags 字符串与数字 <String> | <Number>

  3. mode 整型 <Integer>

fs.open()的同步版本。返回表示文件描述符的整数。

fs.read(fd, buffer, offset, length, position, callback)

增加于node v0.0.2

  1. fd  整型(fopenSync的返回值与fopen中的回调中fd)<Integer>

  2. buffer 字符串与缓冲区数据<String> | <Buffer>

  3. offset 整型<Integer>

  4. length 整型<Integer>

  5. position 整型<Integer>

  6. callback 回调函数<Function>

从指定的文件中读取数据通过fd。

buffer是数据将被写入的缓冲区。

offset是缓冲区中开始写入的偏移量。

length是一个整数,指定要读取的字节数。

position是一个整数,指定从文件开始读取的位置。如果位置为空,则将从当前文件位置读取数据。

callback给出了三个参数,(err, bytesRead, buffer)。


fs.readSync(fd, buffer, offset, length, position)#

Added in: v0.1.21

  1. fd <Integer>

  2. buffer <String> | <Buffer>

  3. offset <Integer>

  4. length <Integer>

  5. position <Integer>

fs.read()的同步版本。返回读取的字节数。

fs.readFile(file[, options], callback)

  1. file <String> | <Buffer> | <Integer> 文件名或文件描述符

  2. options <Object> | <String>

    1. encoding <String> | <Null> default = null

    2. flag <String> default = 'r'

  3. callback <Function>

异步读取文件的全部内容。例子:

fs.readFile('/etc/passwd', (err, data) => {
  if (err) throw err;
  console.log(data);
});

callback有两个参数(err, data),data是文件的内容。

如果没有指定编码,则返回原始缓冲区。

如果选项是字符串,则指定编码。例子:

fs.readFile('/etc/passwd', 'utf8', callback);

任何指定的文件描述符都必须支持阅读。

注意:如果将文件描述符指定为文件,它将不会自动关闭。

fs.readFileSync(file[, options])

增加于node v0.1.8

  1. file <String> | <Buffer> | <Integer> 文件名或文件描述符

  2. options <Object> | <String>

    1. encoding <String> | <Null> default = null

    2. flag <String> default = 'r'

fs.readFile的同步版本。返回文件内容。

如果指定了编码选项,则该函数返回一个字符串。否则它返回一个缓冲区。


 
友情链接:
联系方式:
相关网站:
邮箱:473166512@qq.com
邮箱:admin@okgoes.com
Copyright © 2014-2016 完美起航. 版权所有
Powered by 完美起航 V1.3( 赣ICP备15002760号 )