Node.jsのFileSystemを使った基本的なファイルの書き込みと読み込みの方法を学びます。今回は書き込みと読み込みが目的のため同期、非同期については書きません。
FileSystemを読み込み
FileSystemを使うためにFileSystemを読み込みます。FileSystemはfsで読み込むことができます。いつもどおりのrequireで読み込みます。コメントアウトしている箇所は書かなくて大丈夫です。
// FileSystemの読み込み
const fs = require('fs');
ファイルへの書き込み
FileSystemを使ってテキストファイルへテキストの書き込みを行います。
writeFileメソッドを使ってファイルへ書き込み
// writefile-sample.js 'use strict';
const fs = require('fs');
const message = 'fsでファイルに書き込み';
fs.writeFile('message.txt', message, 'utf8', (err) => {
if (err) { throw err; }
console.log('ファイルを保存しました');
});
上記のコードでmessage.txtというファイルにテキストを書き込んでいます。message.txtが存在していない場合は作成して書き込みします。writeFileメソッドは下記のように4つの引数を渡すことができます。
fs.writeFile(file, data[, options], callback)
第一引数に書き込むファイル、第二引数に書き込むデータを文字列かBufferで渡します。第三引数にはオプションを渡せます。デフォルトでutf8が入るので記述しなくてもutf8となります。第四引数にはエラーを受け取るコールバック関数を渡すことができます。
node writefile-sample.js
上記コードを実行してmessage.txtファイルにテキストが書き込まれたかを確認しましょう。
readFileメソッドを使ってファイルの読み込み
次はreadFileメソッドを使ってファイルの内容を読み込みます。読み込むためのファイルを先に準備してきます。今回はjsonファイルを読み込んで見ます。
// read-sample.json
{
"message": "fsでファイルの読み込み"
}
// readfile-sample.js
'use strict';
const fs = require('fs');
fs.readFile('read-sample.json', 'utf8', (err, data) => {
if (err) { throw err; }
const { message } = JSON.parse(data);
console.log(message);
});
ファイルを読み込むためのコードですreadfile-sample.jsを実行するとread-sample.jsonの内容を読み取り、コンソールログにメッセージを出力します。
// => fsでファイルの読み込み
node readfile-sample.js
readFileメソッドには3つの引数を渡すことができます。第一引数にファイル名かディレクトのパス、第二引数にオプション、第三引数にはデータとエラーを受け取るコールバック関数を渡します。コールバック関数で受け取ったデータをc出力しています。
Node.jsのFileSystemを使ったファイルの読みこみ、書きこみは以上となります。