Node.js可读文件流未获取数据

Ret*_*sam 3 stream node.js

我正在尝试创建一个可读文件流,我可以从中读取单个字节。我正在使用下面的代码。

var rs = fs.createReadStream(file).on('open', function() {
    var buff = rs.read(8); //Read first 8 bytes
    console.log(buff);
});
Run Code Online (Sandbox Code Playgroud)

给定该文件是至少8个字节的现有文件,为什么我得到的输出为“ null”?

use*_*109 5

事件open表示流已被初始化,并不意味着您可以从流中读取。您将不得不听readabledata事件。

var rs = fs.createReadStream(file);

rs.once('readable', function() {
    var buff = rs.read(8); //Read first 8 bytes only once
    console.log(buff.toString());
});
Run Code Online (Sandbox Code Playgroud)