gpt4 book ai didi

javascript - 读取 txt 文件时出现 ERR_FS_FILE_TOO_LARGE

转载 作者:行者123 更新时间:2023-12-04 17:25:55 26 4
gpt4 key购买 nike

它适用于小文件,但对于大文件,它显示:

RangeError [ERR_FS_FILE_TOO_LARGE]:文件大小 (2259809293) 大于可能的缓冲区:2147483647 字节

我需要打开并阅读文本文件。我的代码是:

let text = fs.readFileSync("12.txt").toString('utf-8');;
let textByLine = text.split("\n")
let arrayForUse = textByLine.map(line => line.split(' ').filter(elementOfArray => elementOfArray !== ''));

let finalArray = []

arrayForUse.forEach(compareElement => {
let sameItems = [];
for(element of arrayForUse) {
if(compareElement[0] === element[0] && compareElement[1] === element[1] && compareElement[2] !== element[2]) {
sameItems.push(compareElement[2]);
sameItems.push(element[2]);
}
}
finalArray.push(sameItems);
})

let unique = finalArray
.filter(element => element.length !== 0)
.map(item => [...new Set(item)].join('='));

console.log([...new Set(unique)]);```

最佳答案

您不能对大文件使用 readFileSync。它会将文件读入内存,而您的文件大于允许的最大内存缓冲区大小。

因为您只是用换行符等分割它,所以您可以在文件流上使用 readline 模块,如 this answer over here 中所述。 ,或 line-by-line NPM module (可以说它比 readline 更适合这里)。

关于javascript - 读取 txt 文件时出现 ERR_FS_FILE_TOO_LARGE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63358885/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com