fs.createReadStream - 限制一次流式传输的数据量

时间:2015-10-14 19:26:25

标签: node.js stream fs

如果我只想一次读取10个字节,或者一次读取一行数据(查找换行符),则可以传递fs.createReadStream()选项,如此

  var options = {}

  var stream = fs.createReadStream('file.txt', options);

这样我就可以限制一次流式传输的数据量? 看着fs文档,我没有看到任何允许我这样做的选项,即使我猜这是可能的。

https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options

1 个答案:

答案 0 :(得分:1)

您可以使用.read()

var stream = fs.createReadStream('file.txt', options);
var byteSize = 10;

stream.on("readable", function() {
    var chunk;
    while ( (chunk = stream.read(byteSize)) ) {
        console.log(chunk.length);
    }
});

仅通过highWaterMark选项了解此问​​题的主要好处是您可以在尚未创建的流上调用它。

Here are the docs