如何使用 fs 模块读取和写入文件?请分别说明 readFile/writeFile 和 createReadStream/createWriteStream 的用法

推荐答案

使用 fs.readFilefs.writeFile 读取和写入文件

-- -------------------- ---- -------
----- -- - --------------

-- ----
-------------------------- ------- ----- ----- -- -
  -- ----- -
    ------------------------ -----
    -------
  -
  -------------------- ------

  -- ----
  -------------------------- ----- ------- ----- -- -
    -- ----- -
      ------------------------ -----
      -------
    -
    ----------------------
  ---
---

使用 fs.createReadStreamfs.createWriteStream 读取和写入文件

-- -------------------- ---- -------
----- -- - --------------

-- -----
----- ---------- - ---------------------------------- --------

-- -----
----- ----------- - ---------------------------------- --------

-- -----------------
-----------------------------

-- ------ ----- --
-------------------- -- -- -
  ----------------------
---

-- ------ -------- --
------------------------ -- -- -
  ----------------------
---

本题详细解读

fs.readFilefs.writeFile

  • fs.readFile(path[, options], callback): 用于异步读取文件内容。path 是文件路径,options 可以是字符串(指定编码)或对象(包含编码等选项),callback 是回调函数,接收错误和文件内容作为参数。

  • fs.writeFile(file, data[, options], callback): 用于异步写入文件内容。file 是文件路径,data 是要写入的数据,options 可以是字符串(指定编码)或对象(包含编码等选项),callback 是回调函数,接收错误作为参数。

fs.createReadStreamfs.createWriteStream

  • fs.createReadStream(path[, options]): 创建一个可读流,用于读取大文件或需要流式处理的数据。path 是文件路径,options 可以是对象,包含编码、缓冲区大小等选项。

  • fs.createWriteStream(path[, options]): 创建一个可写流,用于写入大文件或需要流式处理的数据。path 是文件路径,options 可以是对象,包含编码、缓冲区大小等选项。

  • readStream.pipe(writeStream): 通过管道将可读流的数据传输到可写流,适用于处理大文件或需要流式处理的场景。

  • 事件监听:

    • readStream.on('end', callback): 监听可读流的 end 事件,当数据读取完成时触发。
    • writeStream.on('finish', callback): 监听可写流的 finish 事件,当数据写入完成时触发。
纠错
反馈