阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js fs.readFile

      Node.js fs.readFile(path[, options], callback)

      版本历史

      版本变更
      v10.0.0The callback parameter is no longer optional. Not passing it will throw a TypeError at runtime.
      v7.6.0The path parameter can be a WHATWG URL object using file: protocol. Support is currently still experimental.
      v7.0.0The callback parameter is no longer optional. Not passing it will emit a deprecation warning with id DEP0013.
      v5.1.0The callback will always be called with null as the error parameter in case of success.
      v5.0.0The path parameter can be a file descriptor now.
      v0.1.29新增于: v0.1.29
      • path < string> | < Buffer> | < URL> | < integer> 文件名或文件描述符。
      • options < Object> | < string>
        • encoding < string> | < null> 默认值: null。
        • flag < string> 参阅支持的文件系统标志。默认值: ‘r’。
      • callback < Function>
        • err < Error>
        • data < string> | < Buffer>

      异步地读取文件的全部内容。

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

      回调会传入两个参数 (err, data),其中 data 是文件的内容。

      如果没有指定 encoding,则返回原始的 buffer。

      如果 options 是字符串,则它指定字符编码:

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

      当 path 是目录时, fs.readFile() 与 fs.readFileSync() 的行为是特定于平台的。 在 macOS、Linux 和 Windows 上,将返回错误。 在 FreeBSD 上,将返回目录内容的表示。

      // 在 macOS、Linux 和 Windows 上:
      fs.readFile('<目录>', (err, data) => {
        // => [Error: EISDIR: illegal operation on a directory, read <目录>]
      });
      
      // 在 FreeBSD 上:
      fs.readFile('<目录>', (err, data) => {
        // => null, <data>
      });
      

      fs.readFile() 函数会缓冲整个文件。 为了最小化内存成本,尽可能通过 fs.createReadStream() 进行流式传输。

      文件描述符

      1. 任何指定的文件描述符都必须支持读取。
      2. 如果将文件描述符指定为 path,则不会自动关闭它。
      3. 读数将从当前位置开始。例如,如果文件已经有内容 ‘Hello World’ 并且使用文件描述符读取了六个字节,则使用相同文件描述符调用 fs.readFile() 将返回 ‘World’ 而不是 ‘Hello World’。

      更多内容请参考:Node.js fs 文件系统,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录