所以,这是我的问题:我有一个很大的文本文件(大小约为 150 MB),有数十万行。我需要读取文件的内容,解析它,以便将这些行放入适当的 html 标签中并写入将其放入 window.document.open() 对象中。
我的代码适用于大小不超过 50 MB 的文件。
var rawFile=new XMLHttpRequest();
rawFile.open("GET",file, true);
rawFile.onreadystatechange= function () {
if (rawFile.readyState === 4) {
if (rawFile.status === 200 || rawFile.status === 0) {
var allText = rawFile.responseText;
var contents = allText.split("\n");
var w = window.open();
w.document.open();
for (i = 0; i < contents.length; i++) {
//logc so that str= appropriate tags + contents[i]
w.document.write(str);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
该代码有效。逻辑是有效的。但如果文件大小大于 100MB 或类似大小,chrome 就会崩溃。我认为分块读取文件然后将其写入 window.document.open() 将为我解决这个问题。
非常感谢我如何实现这一目标的任何建议。谢谢 :)
(如果我上面发布的代码有任何错误,请忽略,我的实际代码非常大,所以我只写了它的微型版本)