为什么我试图在Node.js中操作这个1GB文件来删除它的内容?
我只是试图通过一个4字节的缓冲区以迭代偏移量覆盖预生成(使用为什么我试图在Node.js中操作这个1GB文件来删除它的内容?,node.js,Node.js,我只是试图通过一个4字节的缓冲区以迭代偏移量覆盖预生成(使用allocUnsafe(size))1GB文件的内容,在打开文件描述符之前,fs.stat和Windows文件系统显示正确的大小。我一打开文件描述符,它就会出现在fs.stat中,并且在文件系统中文件是空的: let stats = fs.statSync(dataPath) let fileSizeInBytes = stats["size"] let fileSizeInMegabytes = fileSizeI
allocUnsafe(size)
)1GB文件的内容,在打开文件描述符之前,fs.stat
和Windows文件系统显示正确的大小。我一打开文件描述符,它就会出现在fs.stat
中,并且在文件系统中文件是空的:
let stats = fs.statSync(dataPath)
let fileSizeInBytes = stats["size"]
let fileSizeInMegabytes = fileSizeInBytes / 1000000
console.log("fileSizeInMegabytes", fileSizeInMegabytes) // => fileSizeInMegabytes 1000
fd = fs.openSync(dataPath, 'w')
stats = fs.statSync(dataPath)
fileSizeInBytes = stats["size"]
fileSizeInMegabytes = fileSizeInBytes / 1000000
console.log("fileSizeInMegabytes", fileSizeInMegabytes) // => fileSizeInMegabytes 0
为什么打开文件描述符会清空我的文件?当然,我遗漏了一些明显的内容,但我看不到。使用
w
标志打开文件会截断文件,即删除任何内容
您应该使用r+
读取和写入文件,而无需将其擦拭干净
有关详细信息,请查看和上的答案。使用
w
标志打开文件会截断文件,即删除任何内容
您应该使用r+
读取和写入文件,而无需将其擦拭干净
有关详细信息,请查看和上的答案。打开文件“w”会截断文件。你应该使用“r+”,在这里找到一个列表。很好地使用了编辑问题、识别手头上实际上有两个问题,并将其余问题拆分为一个新问题!文件打开“w”会截断文件。你应该使用“r+”,在这里找到一个列表。很好地使用了编辑问题、识别手头上实际上有两个问题,并将其余问题拆分为一个新问题!谢谢对于正确的标志仍然存在问题,但最终是另一个问题:谢谢。正确的标志仍然存在问题,但最终是另一个问题: