簡體   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