我可以使用HTML5 / Javascript加载特定行数而不是本地文件的字节吗?

时间:2013-10-13 05:07:20

标签: javascript html5 io

我目前有一些代码允许用户选择本地文件,将该文件作为文本读入,然后将该文本输出到textarea。但是,我想只阅读前N行,因为文件可能会大于10GB。

我知道可以将文件blob作为字节范围读取,但我想知道我是否可以以相同的方式读取文本文件行。这是我目前的代码:

<input type="file" id="files" name="file" /><br>

<script>
    function handleFileSelect(evt) {
        var files = document.getElementById('files').files;
        if (!files.length) {
          alert('Please select a file!');
          return;
        }

        var file = files[0];
        var reader = new FileReader();
        reader.onloadend = function(evt) {
            if (evt.target.readyState == FileReader.DONE) { // DONE == 2
                document.getElementById('myInput').textContent = evt.target.result;
            }  
        };
        reader.readAsText(file, "UTF-8");
    }


document.getElementById('files').addEventListener('change', handleFileSelect, false);

......我看到过这样的事情被使用了:

var blob = file.slice(startingByte, endindByte);
reader.readAsBinaryString(blob);

...但想要行而不是字节范围。谢谢!

0 个答案:

没有答案