首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js可读文件流未获取数据

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

Stack Overflow用户
提问于 2013-08-10 05:06:07
回答 2查看 5.7K关注 0票数 4

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

代码语言:javascript
复制
var rs = fs.createReadStream(file).on('open', function() {
    var buff = rs.read(8); //Read first 8 bytes
    console.log(buff);
});

考虑到该文件是至少8个字节的现有文件,为什么我要获得'null‘作为输出?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-10 09:25:30

事件open表示流已经初始化,但并不意味着您可以从流中读取。您必须侦听readabledata事件。

代码语言:javascript
复制
var rs = fs.createReadStream(file);

rs.once('readable', function() {
    var buff = rs.read(8); //Read first 8 bytes only once
    console.log(buff.toString());
});
票数 5
EN

Stack Overflow用户

发布于 2013-08-10 05:49:22

看起来你在给 method打电话。但是,该方法仅在Streams接口中可用。在Streams接口中,您要查找的是'data'事件,而不是'open'事件。

这说明,文档实际上建议不要这样做。相反,如果您想要处理块,则应该一次处理它们:

代码语言:javascript
复制
var rs = fs.createReadStream('test.txt');

rs.on('data', function(chunk) {
    console.log(chunk);
});

如果您只想读取文件的特定部分,则可能需要查看级别较低的fs.open()fs.read()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18158806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档