Node.js 面试题
目录

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

· 约 3 分钟读完 · 第 24 / 377 章

推荐答案

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

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

本题详细解读

fs.readFile 和 fs.writeFile

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

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

fs.createReadStream 和 fs.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 事件,当数据写入完成时触发。