Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我试图在Node.js中操作这个1GB文件来删除它的内容?_Node.js - Fatal编程技术网

为什么我试图在Node.js中操作这个1GB文件来删除它的内容?

为什么我试图在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

我只是试图通过一个4字节的缓冲区以迭代偏移量覆盖预生成(使用
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+”,在这里找到一个列表。很好地使用了编辑问题、识别手头上实际上有两个问题,并将其余问题拆分为一个新问题!谢谢对于正确的标志仍然存在问题,但最终是另一个问题:谢谢。正确的标志仍然存在问题,但最终是另一个问题: