gpt4 book ai didi

javascript - readstream在nodejs中将文件存储在哪里

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:24 24 4
gpt4 key购买 nike

我读到 createRreadStream 不会将整个文件放入内存,而是使用 block 。然而,我遇到了一种情况,我同时写入和读取文件;首先写入完成,然后我从磁盘中删除该文件。不知何故,readstream 能够完成读取整个文件而没有任何错误。

有人对此有任何解释吗?我认为流不会将文件加载到内存中是错误的吗?

这是写入文件的代码

const fs = require('fs');
const file = fs.createWriteStream('./bigFile4.txt');

function write(stream,data) {
if(!stream.write(data))
return new Promise(resolve=>stream.once('drain',resolve));
return true;
}

(async() => {
for(let i=0; i<1e6; i++) {
const res = write(file,'a')
if(res instanceof Promise)
await res;
}
write(file,'success');
})();

为了阅读,我使用了这个,

const file = fs.createReadStream('bigFile4.txt')

file.on('data',(chunk)=>{
console.log(chunk.toString())
})

file.on('end',()=>{
console.log('done')
})

最佳答案

至少在 UNIX 类型的操作系统上,如果您打开一个文件然后将其删除,则在您关闭该文件之前,该文件数据仍然可供读取。

关于javascript - readstream在nodejs中将文件存储在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53776803/

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