Saya mencari untuk memproses file teks dengan simpul menggunakan panggilan baris perintah seperti:
node app.js < input.txt
Setiap baris file perlu diproses secara individual, tetapi begitu diproses, baris input dapat dilupakan.
Menggunakan pendengar on-data dari stdin, saya mendapatkan input steam yang dipotong oleh ukuran byte jadi saya mengaturnya.
process.stdin.resume();
process.stdin.setEncoding('utf8');
var lingeringLine = "";
process.stdin.on('data', function(chunk) {
lines = chunk.split("\n");
lines[0] = lingeringLine + lines[0];
lingeringLine = lines.pop();
lines.forEach(processLine);
});
process.stdin.on('end', function() {
processLine(lingeringLine);
});
Tapi ini sepertinya sangat ceroboh. Harus memijat sekitar item pertama dan terakhir dari array garis. Apakah tidak ada cara yang lebih elegan untuk melakukan ini?