返回

如何使用 JavaScript 在本地读取 .txt 文件

前端

导读

在本地静态环境下,我们需要实现用 JavaScript 读取同目录下的 .txt 文件,将其中的内容应用到网页上。对于这个问题,有几个可行的方法,本文将一一介绍,希望能帮到您。

方法一:FileReader API

FileReader API 是一个浏览器内置的 API,允许您读取文件。您可以通过以下步骤使用 FileReader API 来读取 .txt 文件:

  1. 创建一个新的 FileReader 对象。
  2. 将要读取的文件拖放到 FileReader 对象中。
  3. 监听 FileReader 对象的 onload 事件。
  4. onload 事件处理程序中,您可以使用 result 属性来获取文件的文本内容。
const fileReader = new FileReader();

fileReader.onload = function() {
  const text = fileReader.result;

  // 使用 `text` 变量来获取文件的内容。
};

fileReader.readAsText("path/to/file.txt");

方法二:fetch() 方法

fetch() 方法是一个浏览器内置的方法,允许您向服务器发送请求并获取响应。您可以通过以下步骤使用 fetch() 方法来读取 .txt 文件:

  1. 调用 fetch() 方法,传入要读取文件的路径。
  2. fetch() 方法的第一个参数中,您可以使用 file: 协议来指定要读取的是一个本地文件。
  3. fetch() 方法的第二个参数中,您可以指定请求的选项,例如请求方法、请求头等。
fetch("file:///path/to/file.txt")
  .then(response => {
    return response.text();
  })
  .then(text => {
    // 使用 `text` 变量来获取文件的内容。
  });

方法三:XMLHttpRequest

XMLHttpRequest 是一个浏览器内置的对象,允许您向服务器发送请求并获取响应。您可以通过以下步骤使用 XMLHttpRequest 来读取 .txt 文件:

  1. 创建一个新的 XMLHttpRequest 对象。
  2. 将要读取的文件路径指定给 XMLHttpRequest 对象的 open() 方法。
  3. 将 XMLHttpRequest 对象的 responseType 属性设置为 "text"。
  4. 调用 XMLHttpRequest 对象的 send() 方法。
  5. 在 XMLHttpRequest 对象的 onload 事件处理程序中,您可以使用 responseText 属性来获取文件的文本内容。
const xhr = new XMLHttpRequest();

xhr.open("GET", "file:///path/to/file.txt", true);
xhr.responseType = "text";

xhr.onload = function() {
  const text = xhr.responseText;

  // 使用 `text` 变量来获取文件的内容。
};

xhr.send();

总结

以上三种方法都可以用于在本地静态环境下使用 JavaScript 读取 .txt 文件。您可以根据自己的需要选择一种方法。

注意

在使用这些方法时,您需要确保要读取的文件位于与 HTML 文件相同的目录中。如果文件不在同一个目录中,您需要使用绝对路径来指定文件的路径。

扩展阅读