Node.jsでファイルを行単位で読み込む方法


  1. fsモジュールを使用する方法: Node.jsの標準モジュールであるfsモジュールを使用すると、ファイルの読み込みや書き込みなどのファイル処理が行えます。具体的なコード例は以下の通りです。
const fs = require('fs');
const filePath = 'ファイルのパス'; // 読み込むファイルのパスを指定してください
const readStream = fs.createReadStream(filePath, 'utf-8');
readStream.on('data', (chunk) => {
  const lines = chunk.split('\n');
  lines.forEach((line) => {
    // 行ごとの処理を行いたい場合はここに記述します
    console.log(line);
  });
});
readStream.on('end', () => {
  console.log('ファイルの読み込みが完了しました。');
});
readStream.on('error', (error) => {
  console.error('ファイルの読み込み中にエラーが発生しました:', error);
});

上記のコードでは、fs.createReadStream()関数を使用してファイルの読み込みストリームを作成し、dataイベントを監視してファイルの内容を取得しています。chunk.split('\n')を使用して行ごとにデータを分割し、各行ごとの処理を行うことができます。

  1. readlineモジュールを使用する方法: Node.jsのreadlineモジュールを使用すると、ファイルを行単位で読み込むための便利なインターフェースを提供しています。以下は使用例です。
const readline = require('readline');
const fs = require('fs');
const filePath = 'ファイルのパス'; // 読み込むファイルのパスを指定してください
const readInterface = readline.createInterface({
  input: fs.createReadStream(filePath, 'utf-8'),
  output: process.stdout,
  console: false
});
readInterface.on('line', (line) => {
  // 行ごとの処理を行いたい場合はここに記述します
  console.log(line);
});
readInterface.on('close', () => {
  console.log('ファイルの読み込みが完了しました。');
});
readInterface.on('error', (error) => {
  console.error('ファイルの読み込み中にエラーが発生しました:', error);
});

上記のコードでは、readline.createInterface()関数を使用してファイルの読み込みインターフェースを作成し、lineイベントを監視してファイルの各行を取得しています。