📜  fs stream createstream (1)

📅  最后修改于: 2023-12-03 15:00:51.319000             🧑  作者: Mango

使用 fs.createReadStream() 创建可读流

在 Node.js 中,fs 模块提供了许多用于文件操作的方法。其中,fs.createReadStream() 方法可以用于创建一个可读流,以便从文件中读取数据。

语法
fs.createReadStream(path[, options])
  • path:要读取的文件的路径。
  • options:一个可选的参数对象,用于配置可读流。例如,可以通过 options.encoding 指定编码方式,或者通过 options.highWaterMark 指定每次读取的字节数。
示例

下面是使用 fs.createReadStream() 方法读取文件的示例代码:

const fs = require('fs');

const stream = fs.createReadStream('file.txt', { encoding: 'utf-8' });

stream.on('data', function(chunk) {
  console.log('读取了 %d 个字符。', chunk.length);
});

stream.on('end', function() {
  console.log('读取完成。');
});

stream.on('error', function(err) {
  console.error('发生错误:%s', err);
});

在上面的代码中,首先通过 require() 方法引入了 fs 模块。然后,使用 fs.createReadStream() 方法创建可读流,并指定要读取的文件路径以及编码方式。接着,通过监听 data 事件来获取读取的数据块,并在控制台输出数据块的长度。当读取结束后,会触发 end 事件,在回调函数中输出“读取完成”。如果在读取过程中发生错误,会触发 error 事件,在回调函数中输出错误信息。

总结

使用 fs.createReadStream() 方法,我们可以方便地从文件中读取数据。在使用时,需要注意以下事项:

  • 使用时需引入 fs 模块。
  • 可以通过 options 参数来配置可读流,例如指定编码方式等。
  • 使用事件监听器来处理读取的数据和错误信息。
  • 当读取结束后,会触发 end 事件。