在 node.js 中读取文件-ag捕鱼王app官网

当前位置:ag捕鱼王app官网 > > 编程语言 > node.js >

在 node.js 中读取文件

作者:迹忆客 最近更新:2023/03/27 浏览次数:

在这篇简短的文章中,我们将学习如何在 node.js 中读取文件。

在 node.js 中读取文件

fs 模块提供了许多有用的函数来访问文件系统并与之交互。 fs 模块的一个特殊功能是默认情况下所有方法都是异步的,但也可以通过添加同步来同步工作。

我们将使用 fs.readfile() 来读取 node.js 中的文件。 您需要传递文件路径、编码和回调函数来调用文件数据或错误。

fs.readfile() 方法是用于读取文件的内置方法。 它将整个文件读入缓冲区。 require() 方法用于加载模块,如 const fs = require('fs')

语法:

fs.readfile( filename, encoding, callbackfn )

此方法接受三个参数。

callbackfn 参数 说明
err 如果读取文件时发生任何错误。
data 正在读取的文件的内容。

它返回文件中存储的内容、数据或读取文件时遇到错误。 让我们通过一个例子来理解它。

代码:

const fs = require('fs');
fs.readfile('/helloworld.txt', 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log(data);
});

输出结果如下:

hello jiyik.com readers!

另一种选择是使用同步版本 fs.readfilesync()

代码:

const fs = require('fs');
try {
  const filecontent = fs.readfilesync('/helloworld.txt', 'utf8');
  console.log(filecontent);
} catch (err) {
  console.error(err);
}

输出结果如下:

hello jiyik.com readers!

我们还可以使用 fs/promises 模块提供的 fspromises.readfile() 方法。

代码:

const fspromises = require('fs/promises');
async function filereadfn() {
  try {
    const filecontent = await fspromises.readfile('/helloworld.txt', { encoding: 'utf8' });
    console.log(filecontent);
  } catch (err) {
    console.log(err);
  }
}
filereadfn();

输出结果如下:

hello jiyik.com readers!

fs.readfile()fspromises.readfile()fs.readfilesync() 这三个方法都在返回数据之前将文件的全部内容读入内存。 这意味着大文件将极大地影响内存使用和程序执行速度。

我们没有等待文件完成读取,而是在准备好要发送的数据后立即开始流式传输到 http 客户端。 与使用其他数据处理方法相比,streams 本质上提供了两个主要优势。

  1. 内存效率——您不必在处理之前将大量数据加载到内存中。
  2. 时间效率 - 开始处理数据所需的时间要少得多,因为您可以立即开始处理,而不是等到整个有效负载可用。

在文件流上,调用 pipe() 方法,它获取源并将其定向到目标。 目标流是 pipe() 方法的返回值,这是一件非常方便的事情,它允许我们将对 pipe() 的多个调用链接在一起。

代码:

const fs = require('fs');
const http = require('http');
const nodeserver = http.createserver((req, res) => {
  const filestream = fs.createreadstream(`${__dirname}/helloworld.txt`);
  filestream.pipe(res);
});
nodeserver.listen(3000);

输出结果如下:

hello jiyik.com readers!

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

发布时间:2023/03/27 浏览次数:243 分类:node.js

本教程演示了如何在 node js 中使用 module.exports。

在 node.js 中编码 url

发布时间:2023/03/27 浏览次数:402 分类:node.js

在这篇简短的文章中,我们将学习如何在 node.js 中进行 url 编码。

在 node.js 中编码 base64

发布时间:2023/03/27 浏览次数:278 分类:node.js

在本文中,我们将学习如何在 node.js 中将字符串或文本转换为 base64。

node.js 与 react js 的比较

发布时间:2023/03/27 浏览次数:173 分类:node.js

本文比较和对比了两种编程语言,node.js 和 react。react 和 node.js 都是开源 javascript 库的示例。 这些库用于构建用户界面和服务器端应用程序。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图