【问题标题】:How can I only read in the first line of a file in Javascript?我如何只能在 Javascript 中读取文件的第一行?
【发布时间】:2020-08-13 21:50:58
【问题描述】:

我试图在 javascript 中仅读取 CSV 文件的第一行而不读取整个文件。到目前为止,我在 SO 上找到的解决方案仅包括使用 .split 仍然读取整个文件并按换行符拆分。我也尝试过使用 FileReader progress 在第一行之后停止,但是您无法控制正在读取的进度。我怎样才能使用进度或其他方法只获取第一行而不读取文件的其余部分?

【问题讨论】:

  • 您将不得不加载整个文件。您当前用于加载文件的代码是什么?
  • 我可以一个字一个字地读,然后换行吗?
  • 这段代码是在浏览器中运行的,还是在node.js中运行的?
  • 再一次,你是如何加载文件的?

标签: javascript html file csv


【解决方案1】:

有一些已发布的库允许逐行读取文件。

在浏览器中,有line-navigator:

var navigator = new LineNavigator(file[, options]);

navigator.readLines(indexToStartWith, numberOfLines,
  function (err, index, lines, isEof, progress) {
    // handle result here
  });

在node.js中,有line-reader:

var lineReader = require('line-reader');

// read line by line:
lineReader.open('file.txt', function(err, reader) {
  if (err) throw err;
  if (reader.hasNextLine()) {
    reader.nextLine(function(err, line) {
      try {
        if (err) throw err;
        console.log(line);
      } finally {
        reader.close(function(err) {
          if (err) throw err;
        });
      }
    });
  }
  else {
    reader.close(function(err) {
      if (err) throw err;
    });
  }
});

【讨论】:

    猜你喜欢
    • 2011-10-25
    • 2016-08-03
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    相关资源
    最近更新 更多