错误:
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);
分析:
- 流式写入,相当于开启了一个新的文件写入执行流。
- test.end() 只是提交了文件写入执行流,后续不能再向文件写入执行流中写入数据。但是文件写入执行流没有结束。
- 直接在 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);
});