繁体   English   中英

RangeError [ERR_FS_FILE_TOO_LARGE]:文件大小 (3472064213) 大于 2 GB

[英]RangeError [ERR_FS_FILE_TOO_LARGE]: File size (3472064213) is greater than 2 GB

const entries = require("../rootsiir.sql")
const objId = 9
const filteredObj = entries.filter((obj) => obj.tc === objId)[0]
const name = filteredObj.name
const id = filteredObj.id

console.log(name)
console.log(age)

我有这个代码,它是一个搜索 JSON 文件。

但是我正在接受这个错误:

RANGEERROR [ERR_FS_FILE_TOO_LARGE]: FILE SIZE (3472064213) IS GREATER THAN 2 GB-NODE.JS

我的 JSON 文件 2.5GB。 我该如何解决?

Node.js 不支持require()超过 2.5GB 的文件,因为它们无法放入单个缓冲区。 相反,您需要将文件作为流打开并将流解析为 JSON。

您可以自己实现它,但是已经存在可以实现它的库。 我建议使用big-json包。 这是自述文件中的示例:

const fs = require('fs');
const path = require('path');
const json = require('big-json');

const readStream = fs.createReadStream('big.json');
const parseStream = json.createParseStream();

parseStream.on('data', function(obj) {
    // => receive reconstructed object
});

readStream.pipe(parseStream);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM