なんだかGoodVibes

日々の勉強メモです。

【Node】他のファイルの中身を1行ずつ出力する

こんにちは。今回は、ファイルの中身を1行ずつ詠み込んで出力するサンプルです。
では、さっそくサンプルです。

for を使用

ファイルの中身を読み込み、改行で分割して配列に格納しています。
そして、for を使用して、配列の長さ分ループを回しています。

var fs = require('fs');

var filePath = './test.txt';

var text = fs.readFileSync(filePath, 'utf8');
var lines = text.toString().split('\r\n');

for (var idx = 0; idx < lines.length; idx++) {
    console.log(lines[idx]);
}

for…in を使用

ファイルの読み込みを行うところまでは同じです。
出力部分は、配列の数だけループが回ります。
idx には配列のインデックスが入ります。

var fs = require('fs');

var filePath = './test.txt';

var text = fs.readFileSync(filePath, 'utf8');
var lines = text.toString().split('\r\n');

for (var idx in lines) {
    console.log(lines[idx]);
}

readline を使用

readline はストリームを行ごとに読み込むためのモジュールです。
テキストを1行ずつ読み込むことができます。

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

var filePath = './test.txt';

var stream = fs.createReadStream(filePath, 'utf8');
var reader = readline.createInterface({input: stream});

reader.on('line', (data) => {
    console.log(data);
});

他にもいくつかあるかと思いますが、今回は3つを紹介しました。
ファイル操作の基本を知りたいって方は是非以下の記事も参考にしてください。

nandakagoodvibes.hatenablog.com

以上です。