読者です 読者をやめる 読者になる 読者になる

console.lealog();

@leader22のWeb系に関する勉強めもブログですのだ

Node.jsでテキストを1行ずつ処理する

さくっと書きたいコードの時は、npm installしたくない派です。
なので、いままでコレ困ってたんですけど、
よくよく調べてみると普通にビルトインのAPIでできるってことがわかり。

今後のためにも、それをメモっておきます。

Readline x Stream

var fs = require('fs'),
    rl = require('readline');
var inputStream   = fs.createReadStream('./path/to/your/text'),
    inputReadLine = rl.createInterface({ 'input': inputStream, 'output': {} });

inputReadLine
    .on('line', function(line) {
        // ここで1行ごとになんやかんや
    })
    .on('close', function() {
        // ここで終わったあとになんやかんや
    });

参考: Readline Node.js v0.10.30 Manual & Documentation
参考: Stream Node.js v0.10.30 Manual & Documentation

でもReadlineもStreamも、どっちもまだUnstableなんね。