Node.js 文件大小(6003804160)大于节点中可能的缓冲区:2147483647

Node.js 文件大小(6003804160)大于节点中可能的缓冲区:2147483647,node.js,fs,Node.js,Fs,尝试读取node.js中的文件大小为5GB时,我遇到以下错误: 错误: RangeError[错误文件太大]:文件大小(6003804160)大于可能的缓冲区:2147483647字节 请建议解决方案。2147483647字节是NodeJ中缓冲区可以具有的最大大小。请注意,此操作将立即将文件的所有内容加载到内存中。您确定要将5gb的数据推入内存吗 如果需要读取大于该值的文件,则需要使用函数而不是fs.readFilefs.createReadStream允许您将文件“拆分”为小(er)块,并一次

尝试读取node.js中的文件大小为5GB时,我遇到以下错误:

错误: RangeError[错误文件太大]:文件大小(6003804160)大于可能的缓冲区:2147483647字节


请建议解决方案。

2147483647字节是NodeJ中缓冲区可以具有的最大大小。请注意,此操作将立即将文件的所有内容加载到内存中。您确定要将5gb的数据推入内存吗


如果需要读取大于该值的文件,则需要使用函数而不是
fs.readFile
fs.createReadStream
允许您将文件“拆分”为小(er)块,并一次读取一个块。

2147483647字节是NodeJS中缓冲区可以具有的最大大小。请注意,此操作将立即将文件的所有内容加载到内存中。您确定要将5gb的数据推入内存吗


如果需要读取大于该值的文件,则需要使用函数而不是
fs.readFile
fs.createReadStream
允许您将文件“拆分”为小(er)块,并一次读取一块。

您好,感谢您的建议,当我使用const readStream=fs.createReadStream('SW_DVD9_Win_Server_STD_CORE_2016_64位英语_-4_DC_STD_MLF_X21-70526.ISO',{highWaterMark 5*1024*1024});在这个操作过程中,我得到[Error:EIO:i/o Error,read]{errno:-4070,代码:'EIO',系统调用:'read'},并且完整的文件也没有被读取。请提供一些解决方案。您好,感谢您的建议,当我使用const readStream=fs.createReadStream('SW_DVD9_Win_Server_STD_CORE_2016_64Bit_English_-4_DC_STD_MLF_X21-70526.ISO',{highWaterMark 5*1024*1024});在这个操作过程中,我得到[Error:EIO:i/o Error,read]{errno:-4070,代码:'EIO',系统调用:'read'},并且完整的文件也没有被读取。请提出一些解决办法。
fs.readFile(tempfile, "utf8", function(err, filebuffer) {
      console.log(err,"filebuffer " ,filebuffer);
})