Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中处理大型文本文件需要一个切片算法_Javascript - Fatal编程技术网

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

如何在javascript中处理大型文本文件需要一个切片算法,javascript,Javascript,我试着让我的头周围拼接一个文件,而我可以阅读文件的某些部分,根据教程 我不知道如何写循环,所以我把整个文件分块读 不用说,我觉得我很离谱,但这是我一直在编写的代码 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.readAsTex

我试着让我的头周围拼接一个文件,而我可以阅读文件的某些部分,根据教程

我不知道如何写循环,所以我把整个文件分块读

不用说,我觉得我很离谱,但这是我一直在编写的代码

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;
}

但是这段代码给了我一个错误,我的阅读器此时不可用…

您必须计算块的长度,并将该长度添加到每个循环结束时停止

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;
}
var循环=10;
var chunkLength=file.size/循环;
var start=0;
var-stop=chunkLength;
对于(变量i=0;i
仍然存在一个问题,即当
开始
被分配
停止
时,它是一个已经被读取的字节。是否没有办法确保每个块都是唯一的。胡乱猜测-从
stop+1
中删除
+1
部分?
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;
}