gist

2012年2月21日火曜日

Node.jsでファイルの更新を監視する。これは意外と使えるかも。

Node.jsでファイルの更新を監視するには、fs.watchFile()を使います。


var fs = require('fs');
var http = require('http');

fs.watchFile('message.txt', function(curr, prev) {
    console.log('現在の更新:' + curr.mtime);
    console.log('前の更新:' + prev.mtime);
});

http.createServer(function(req, res) {
    res.writeHead(200);
    res.end('fs.watchFile() test');
}).listen(3000);

console.log('server started.');

空のmessage.txtを作ります。

$ echo '' > message.txt

Nodeを起動します。


$ node app.js &

message.txt に追記してみましょう。

$ echo 'Hello World!' >> message.txt
$ 現在の更新:Tue Feb 21 2012 23:03:20 GMT+0900 (JST)
前の更新:Tue Feb 21 2012 23:02:14 GMT+0900 (JST)

$ 

前回のファイル情報と、更新後のファイル情報を参照できます。

業務アプリケーションの連携なかではCSVファイルを特定のフォルダに保存してデータをやりとりするのもしばしば。意外と使えるかもしれません。ファイル変更をsocket.ioで通知したらもっと面白そうです。

0 件のコメント: