您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Node.js读取文本文件?

使用Node.js读取文本文件?

您将要使用process.argv数组访问命令行参数以获取文件名,并使用FileSystem模块(fs)来读取文件。例如:

// Make sure we got a filename on the command line.
if (process.argv.length < 3) {
  console.log('Usage: node ' + process.argv[1] + ' FILENAME');
  process.exit(1);
}
// Read the file and print its contents.
var fs = require('fs')
  , filename = process.argv[2];
fs.readFile(filename, 'utf8', function(err, data) {
  if (err) throw err;
  console.log('OK: ' + filename);
  console.log(data)
});

为了稍微分解一下,process.argv通常长度为2,第零个为“节点”解释器,第一个为节点当前正在运行的脚本,其后的项目在命令行中传递。从argv中提取文件名后,就可以使用文件系统函数读取文件并对其内容进行任何操作。用法示例如下所示:

$ node ./cat.js file.txt
OK: file.txt
This is file.txt!

正如@wtfcoder提到的那样,使用“fs.readFile()方法可能不是最好的主意,因为它会在将文件交给回调函数之前先缓冲文件的全部内容。这种缓冲可能潜在地使用大量内存,但是更重要的是,它没有利用node.js的核心功能之一-异步事件I / O。

处理大文件(或任何文件,实际上)的“节点”方法是使用fs.read()和处理每个可用的块,因为它们可从操作系统获得。但是,以这种方式读取文件需要您自己(可能)对文件进行增量解析/处理,并且一定数量的缓冲可能是不可避免的。

Node 2022/1/1 18:17:56 有319人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶