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)