📜  在节点 js 中读取 txt 文件 - Javascript (1)

📅  最后修改于: 2023-12-03 15:08:06.053000             🧑  作者: Mango

在节点 js 中读取 txt 文件 - Javascript

在节点 js 中,可以采用多种方式来读取 txt 文件,本文将会介绍其中两种常用的方式。

使用文件系统模块

文件系统模块 fs 是一个内置的模块,它提供了对文件系统的访问功能。使用它来读取 txt 文件的步骤如下:

步骤一:引入模块
const fs = require('fs');
步骤二:读取文件
fs.readFile('/path/to/file.txt', 'utf-8', function(err, data) {
  if (err) throw err;
  console.log(data);
});

其中,readFile 函数有三个参数:

  • 第一个参数是要读取的文件路径。
  • 第二个参数是编码方式,通常是 'utf-8'。
  • 第三个参数是回调函数,可以获取读取到的数据或者读取错误信息。
步骤三:处理读取到的数据

当读取到数据时,可以将它打印到控制台中,或者进行其他的业务处理。

使用 http 模块

http 模块是另一个内置模块,它在创建服务器或者发送 http 请求时使用。在读取 txt 文件时,可以将其作为 http 请求发送给本地服务器,并通过回调函数获取到返回的数据。使用 http 模块读取 txt 文件的步骤如下:

步骤一:引入模块
const http = require('http');
步骤二:创建本地服务器并监听指定端口
const server = http.createServer((req, res) => {
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World!\n');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

在创建服务器时,需要设置返回数据的类型,这里设置为纯文本格式。

步骤三:发送 http 请求并处理返回结果
const options = {
  hostname: 'localhost',
  port: 3000,
  path: '/path/to/file.txt',
  method: 'GET'
};

const req = http.request(options, (res) => {
  res.setEncoding('utf8');
  let data = '';
  res.on('data', (chunk) => {
    data += chunk;
  });
  res.on('end', () => {
    console.log(data);
  });
});

req.on('error', (e) => {
  console.error(`请求遇到问题: ${e.message}`);
});

req.end();

其中,http.request 函数有两个参数:

  • 第一个参数是包含请求信息的对象,包括要访问的地址、端口、方法等信息。
  • 第二个参数是回调函数,可在其中获取到返回的数据并进行处理。
总结

以上便是两种在节点 js 中读取 txt 文件的方法,但文件系统模块更加简单、直接。返回的数据一般是字符串形式,可进行处理或输出。了解并熟练掌握这些方法,可在实际工作中更加方便快捷地读取 txt 文件。