LoginSignup
0
1

More than 5 years have passed since last update.

Node.js ファイルの読み込み

Last updated at Posted at 2018-09-08

 ファイルの読み込みを行う


'use strict';
const fs = require('fs');
const readline = require('readline');
const rs = fs.ReadStream('./popu-pre.csv');
const rl = readline.createInterface({'input': rs, 'output': {} });
rl.on('line', (lineString) => {
    console.log(lineString);
});
rl.resume();

Const fs = require(fs);
Const deadline = require(deadline);

Node.jsに用意されたモジュールを呼び出す
Node.jsにおけるモジュールとなるオブジェクトの呼び出し

fs (FileSystem)

ファイルを扱うためのモジュール

readline

ファイルを一行ずつ読み込むためのモジュール


const rs = fs.ReadStream('./popu-pref.csv');
const rl = readline.createInterface({ 'input': rs, 'output': {} });

popu-pref.csvファイルからファイルの読み込みを行うStreamを作成し、さらにそれをreadlineオブジェクトのinputとして設定し、rlオブジェクトを作成している

Stream??

Node.jsでは出入力が発生する処理をほとんどStreamという形で扱う
Streamとは、非同期情報を取り扱うための概念で、情報自体ではなく情報の流れに注目する

Node.jsでStreamを扱う際には、Streamに対してイベントを監視し、イベントが発生した際に呼び出される関数を設定することによって情報を利用する

イベント駆動型プログラミング
あらかじめイベントが発生した時に実行される関数を設定しておいて、起こったイベントに応じて処理を行うこと


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

rlというオブジェクトもStreamのインターフェースを持っている

利用する際には以下のようなコードになる


rl.on('line', (lineString) => {
    console.log(lineString);
});
rl.resume( );

rlオブジェクトでlineというイベントが発生したタイミングで、コンソールに引数lineStringの内容が出力される。

resumeメソッドの呼び出しはストリームに情報を流し始める処理

オブジェクトの振る舞いを作ることのできる関数が設定されたプロパティのことをメソッドと呼ぶ

まとめ

Streamの概念がまだよくわからない、なんとなく書いてるだけな感覚があるので詳しい人教えてください、、、

とりあえずもっとたくさん書いてみよう

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1