如果我只想一次读取10个字节,或者一次读取一行数据(查找换行符),则可以传递fs.createReadStream()选项,如此
var options = {}
var stream = fs.createReadStream('file.txt', options);
这样我就可以限制一次流式传输的数据量? 看着fs文档,我没有看到任何允许我这样做的选项,即使我猜这是可能的。
https://nodejs.org/api/fs.html#fs_fs_createreadstream_path_options
答案 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
选项了解此问题的主要好处是您可以在尚未创建的流上调用它。