Node.js で テキストファイル を 一行ずつ 読み込む方法

0 件のコメント

Node.js で テキストファイルを 1行ごと に読み取るサンプルコードを以下に記載、まとめてみます。 いろいろ実装しようかとも思いましたが…実は Node.js のデフォルト機能 readline があったのでそれを使って実装してみます。

サンプルコード

var fs = require("fs");
var readline = require("readline");

var stream = fs.createReadStream("./data/sample.txt", "utf8");

var reader = readline.createInterface({ input: stream });
reader.on("line", (data) => {
  console.log(data);
});

解説

readline を利用すると一行ずつ読み取る機能が使えるようになります。 単独では使えず ReadStream と組み合わせて使います。

L.4
readline は引数に ReadStream を取るので、あらかじめ読み取りたいファイルの ReadStream を生成しておきます。

L.6
readline.createInterface() を使って Readline を作成します。

L.7
作成された Readline インスタンス の line イベントが行を読み取るたびに呼び出されます。 行ごとの処理はこの line イベントで行います。

参考記事