0
点赞
收藏
分享

微信扫一扫

NodeJS Stream流FRQ——ENOENT: no such file or directory


错误:

Error: ENOENT: no such file or directory, stat 'D:\Workspaces\sage-dmp-backend/test-0.778035090094757.txt'

代码:

var test = fs.createWriteStream("./test.txt");
test.write('xx');
test.end();

const statObj = fs.statSync(dst_file);
console.log(statObj.size);

分析:

  1. 流式写入,相当于开启了一个新的文件写入执行流。
  2. test.end() 只是提交了文件写入执行流,后续不能再向文件写入执行流中写入数据。但是文件写入执行流没有结束。
  3. 直接在 test.end();后面执行读取时,文件写入执行流还没有开始执行,所以出错。


解决:

var test = fs.createWriteStream("./test.txt");
test.write('xx');
test.end();

test.on('finish', () => {
const statObj = fs.statSync(dst_file);
console.log(statObj.size);
});


举报

相关推荐

0 条评论