如何在javascript中处理大文本文件需要切片算法

时间:2013-11-07 08:39:38

标签: javascript

我正试着拼接文件,而我可以根据教程here.

阅读文件的某些部分

我无法弄清楚如何编写循环,以便我以块的形式读取整个文件。

毋庸置疑,我觉得自己很不错,但这是我一直在努力的代码。

var loops = file.size / 10;
var start = 0;
var stop = file.size / 10;

for (var i = 0; i < loops; i++) {
  var blob = file.slice(start, stop + 1);
  reader.readAsText(blob);
  start = stop;
  stop += stop;
}

我正在尝试以总大小的十分之一的大块读取文件。从字节范围0-1 / 10的大小开始,然后向上移动以使我的起始字节位于结束字节的位置并将结束字节加倍,但我意识到这不是正确的方法来做这个,

我抓住了文件:

File {webkitRelativePath: "", lastModifiedDate: Thu Nov 07 2013 07:56:00 GMT+0000 (GMT), name: "TestData.txt", type: "text/plain", size: 136000000…}

但是这段代码给了我一个关于我的读者此时无法使用的错误...

1 个答案:

答案 0 :(得分:0)

您必须计算块的长度并添加该长度以在每个循环结束时停止。

var loops = 10;
var chunkLength = file.size / loops;
var start = 0;
var stop = chunkLength;

for (var i = 0; i < loops; i++) {
  var blob = file.slice(start, stop + 1);
  reader.readAsText(blob);
  start = stop;
  stop += chunkLength;
}