【发布时间】:2020-09-06 19:34:36
【问题描述】:
我目前正在使用writer = fs.createWriteStream(url) 将可写流写入文件,使用writer.write() 进行多次写入,最后我使用writer.end()。我注意到当我执行writer.end() 时,文件大小仍然为零,并且在程序终止之前一直保持为零,此时它达到正确的大小并且内容可见且正确。
所以writer.end() 似乎没有关闭文件。
规范说“如果在'error'或'finish'时将autoClose设置为true(默认行为),文件描述符将自动关闭。”
我不确定这里的“错误”或“完成”指的是什么。大概是事件:但它们与我在writer.end() 上的电话有什么关系?我必须做些什么来引发这些事件吗?
我会尝试直接获取文件描述符并在写入后显式调用 fd.close() 以关闭它,但我没有看到在给定文件描述符的情况下获取可写流的方法。
有什么建议吗?
【问题讨论】:
-
看到这个答案:stackoverflow.com/a/45905612/9681220也许对你有帮助