gpt4 book ai didi

javascript - Node.js - 无法删除使用 createWriteStream 创建并写入的文件

转载 作者:行者123 更新时间:2023-11-30 16:08:21 25 4
gpt4 key购买 nike

我找不到解决这个问题的方法。使用 Node fs,我使用 createWriteStream 创建了一个文件,将数据写入其中,然后尝试删除它,但在 Node 打开时无法删除它。

以下是我在这个过程中使用的代码:

var file = fs.createWriteStream("test.txt", {flags: "a");
file.write(new Buffer(1048576));

文件创建成功,1MB空数据正确写入。问题是当我尝试 fs.unlink 文件或手动删除它(Windows - 删除文件)时,它从文件夹中消失但是一旦我刷新文件夹文件仍然存在,它总是直到 Node 关闭。我认为一旦 Node 不再使用它,它就会被标记为删除。

我已经尝试在使用 file.close()file.end()file.emit("close")file.emit("end") 和其他几个但仍然无法删除文件。

如何“完成”文件以便在需要时可以将其删除?我以为它在写入后会自行关闭。

最佳答案

要知道底层文件描述符何时关闭,您需要在调用 .end() 后监听 close 事件。例如:

var file = fs.createWriteStream("test.txt", {flags: "a");
file.on('close', function() {
console.log('fd closed');
});
file.end(new Buffer(1048576));

关于javascript - Node.js - 无法删除使用 createWriteStream 创建并写入的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36671500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com