Node.js の標準ライブラリとして、 File System モジュールという POSIX 関数のシンプルなラッパーが提供されているので、これの readFile 関数を使うのがスタンダード。
File System Node.js v5.0.0 Manual & Documentation

同期処理できる readFileSync 関数と、非同期の readFile 関数が用意されている。以下、サンプルコード。


var file = "./hoge.txt";
var fs = require("fs");

// 文字エンコーディングを指定して、
// 同期的にテキストファイルを読み込む。
var contents = fs.readFileSync(file, "utf8");
console.log(contents);

// 文字エンコーディングを指定して、
// 非同期にテキストファイルを読み込む。
fs.readFile(file, "utf8", function(err, data){
  console.log(data);
});

// 同期的にバイナリファイルを読み込む。
// 文字エンコーディングを指定しない場合は、
// 戻り値が Buffer オブジェクトになる
var contents = fs.readFileSync(file);

// 実はテキストファイルだったので、文字列化する
var text = contents.toString("utf8");
console.log(text);

文字エンコーディングを指定するかしないかだけで、テキストファイル or バイナリファイルの読み込みを切り替えられるので便利。

tags: node.js javascript

Posted by NI-Lab. (@nilab)