' P '

whatever I will forget

JavaScript ファイルの読み込みを行いたい

JavaScript(Node.js)でファイルを読み込む方法

まずはimport

モジュールのimportは下記のように行う

const fs = require('fs');
const readline = require('readline');
  • fs
    filesystemの意味。

  • readline
    ファイルを一行ずつ読み込む

読み込みたいファイルを指定し、filestreamを生成する

const rs = fs.createReadStream('./popu-pref.csv');

streamからreadするオブジェクトを指定する

const rl = readline.createInterface({ 'input': rs, 'output': {} });

以下、Node.js公式からの引用

input <stream.Readable> The Readable stream to listen to. This option is required.
output <stream.Writable> The Writable stream to write readline data to.

読み込んだファイルに書き込みたいときは'output'も指定する必要がありそう。

読み込んだ行が改行にあたったら、無名関数をcallするようにする

streamにてreadするオブジェクトからイベントが発生(例はline)したら、無名関数が実行される

rl.on('line', (lineString) => {
  const columns = lineString.split(',');
  const year = parseInt(columns[0]);
  const prefecture = columns[1];
  const popu = parseInt(columns[3]);
  // process
}

ファイルの最後まで読み込んだらclose

readlineのストリームが最終行にあたったら、自動的にcloseイベントが発生するはずなので、
closeイベントが発生した際の処理を書いておく

rl.on('close', () => {
  //process
}