我需要在终端中传入一个文本文件,然后从其中读取数据,我该怎么做呢?
node server.js file.txt
我如何传递来自终端的路径,如何在另一端读取它?
发布于 2018-09-20 02:51:33
Usign fs with node。
var fs = require('fs');
try {
var data = fs.readFileSync('file.txt', 'utf8');
console.log(data.toString());
} catch(e) {
console.log('Error:', e.stack);
}
发布于 2012-04-26 04:01:42
应该避免fs.readFile()
,因为它加载内存中的所有文件,并且在读取所有文件之前不会调用回调。
阅读文本文件的最简单方法是逐行阅读。我推荐一个BufferedReader
new BufferedReader ("file", { encoding: "utf8" })
.on ("error", function (error){
console.log ("error: " + error);
})
.on ("line", function (line){
console.log ("line: " + line);
})
.on ("end", function (){
console.log ("EOF");
})
.read ();
对于像.properties或json文件这样的复杂数据结构,您需要使用解析器(在内部,解析器也应该使用缓冲读取器)。
发布于 2017-09-28 15:05:19
您可以使用readstream和管道逐行读取文件,而无需一次性将所有文件读取到内存中。
var fs = require('fs'),
es = require('event-stream'),
os = require('os');
var s = fs.createReadStream(path)
.pipe(es.split())
.pipe(es.mapSync(function(line) {
//pause the readstream
s.pause();
console.log("line:", line);
s.resume();
})
.on('error', function(err) {
console.log('Error:', err);
})
.on('end', function() {
console.log('Finish reading.');
})
);
https://stackoverflow.com/questions/9168737
复制相似问题