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

楚木巽

关注

阅读 100

2023-03-08


错误:

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)

0 0 举报