「node.jsでファイルを書く」の版間の差分
提供: Node.js/JavaScript入門
(ページの作成:「node.jsでファイルを書き込む方法を紹介します。 __TOC__ == 概要 == ファイルの読み書きには、fsモジュールを使用します。用...」) |
(相違点なし)
|
2014年8月24日 (日) 19:36時点における版
node.jsでファイルを書き込む方法を紹介します。
目次
概要
ファイルの読み書きには、fsモジュールを使用します。用意されいてる関数は、Unixのファイル操作のシステムコールに似た名前、引数です。
ファイルシステムの関数には、同期と非同期があります。 同期の関数は、関数名にSyncがついています。 実行の順番を保証する必要がないのであれば、「非同期」を利用するべきです。
writeFileで書く
writefile.js
/* * writefile.js * Copyright (C) 2014 kaoru <kaoru@bsd> */ var fs = require('fs'); var data = "This is node.js program\n"; var file = 'test.txt'; fs.writeFile(file, data, function(err) { if (err) { throw err; } console.log ('Save'); });
実行例
$ node writefile/writefile.js Save
非同期writeFileSyncで書く
writefile_sync.js
/* * writefile_sync.js * Copyright (C) 2014 kaoru <kaoru@bsd> */ var fs = require('fs'); var data = "This is node.js program\n"; var file = 'writefile_sync.txt'; try { fs.writeFileSync(file, data, null, function(err) { if (err) { console.log(err); return; } console.log ('Save'); }); var data2 = "Append line\n"; fs.appendFileSync(file, data2, null, function(err) { if (err) { console.log(err); return; } console.log ('Save'); }); } catch (e) { console.log(e); }
こういう書き方もできます。
/* * writefile_sync.js * Copyright (C) 2014 kaoru <kaoru@bsd> */ var fs = require('fs'); var data = "This is node.js program\n"; var file = 'writefile_sync.txt'; fs.writeFileSync(file, data);
実行例
$ node writefile/writefile_sync.js $ cat writefile_sync.txt This is node.js program Append line
openで開いてwriteで書く
fs_open1.js
/* * fs_open1.js * Copyright (C) 2014 kaoru <kaoru@bsd> */ var fs = require('fs'); var file = 'fs_open1.txt'; var flag = 'w+'; var mode = 0644; var data = "This is data\n"; fs.open(file, flag, mode, function(err,fd){ if (err) { console.log(err); return; } var buf = new Buffer(data); fs.write(fd, buf, 0, buf.length, null, function(err, written, buffer){ if (err) { console.log(err); } console.log("written=" + written); fs.close(fd); }); });
実行例
$ node writefile/fs_open1.js written=13
関連項目
- node.jsでファイルを読む
- node.jsでファイルを書く