【问题标题】:Reading a single line from a file in JavaScript在 JavaScript 中从文件中读取一行
【发布时间】:2013-06-25 16:47:32
【问题描述】:

我对 JavaScript 还很陌生,我似乎无法弄清楚如何从文件中很好地读取行(类似于 Java 中的 BufferedReader)。我有一个包含 3 行的文件,第三行包含一个巨大的 JSON 字符串,我想将其解码为 JavaScript 对象。如果可能的话,我宁愿不使用 PHP 并在我的 JavaScript 中完成所有操作。谢谢!

【问题讨论】:

  • 您能更具体地谈谈开发环境吗?你在用nodejs吗?您是否尝试在浏览器上执行此操作?
  • 我要问的第一个问题是文件在哪里?
  • 该文件位于我的系统上。我只想从中读取第三行并提取 JSON 字符串
  • 我现在正在本地开发一切

标签: javascript json filereader


【解决方案1】:

如果您希望能够从本地系统读取文件,则必须使用 HTML5 的 File API。 在文件阅读器上调用 readAsText 函数

reader.readAsText(fileObject,"UTF-8");

然后从那里读取每一行,我认为没有逐行读取。

    var reader = new FileReader();
    reader.onloadend = function(evt) {
        console.log("read success");
        console.log(evt.target.result);
    };
    reader.readAsText(file);

还请注意,您必须使用 window.requestFileSystem 或 window.webkitRequestFileSystem 东西才能被允许,并且可能还需要更改浏览器设置以允许读取本地文件。

window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(type, size, successCallback, opt_errorCallback)

Full FileSystem tutorial

【讨论】:

    【解决方案2】:

    js 无权访问文件系统。

    【讨论】:

    • 这不是真的。请参阅 HTML5 文件 API。
    • @SLaks > 我只是在读回这方面的信息,实际上该文件仍然需要以某种方式放在页面中,是使用输入文件还是拖放。所以我不认为 Javascript 确实可以访问文件系统,但是这个 API 使文件可以通过浏览器访问......
    • JS 如果实现了正确的文件 API 并设置了正确的请求以使用文件系统,则它具有文件访问权限。
    猜你喜欢
    • 2017-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    • 2013-12-17
    相关资源
    最近更新 更多