Index > JavaScriptでローカルファイルを読み書きする方法(Rhinoを利用)
Tue, February 10, 2009

JavaScriptでローカルファイルを読み書きする方法(Rhinoを利用)

Ajaxがブームになって以来ここ数年、自分内JavaScript使用頻度や期待度がアップしている。 Webページのカスタマイズでも、InDesignでもJavaScriptを使っている、ActionScriptもほとんどJavaScriptだし。 最近では、O'REILLYの "JavaScript: The Good Parts" という本さえ購入している。

ただ、JavaScriptを日常的に発生するいろいろな仕事に使おうと思うと、 ローカルファイルの読み書きが必要になるケースが多い。 JavaScriptにはその機能がないからなぁ〜と思っていたが、とんでもない勘違いだと今日気づいた。(のでメモ)

JavaScriptでローカルファイルにアクセスする

Rhinoを使って、Javaライブラリ経由でローカルファイルにアクセスする。それだけでOK。 簡単すぎるです。
しかし、Jythonとコードが非常に似てくるので、ちょっと混乱する。
行末のセミコロンがいるんだか、いらないんだか。 しかも、JavaScriptの場合、セミコロンを省略しても、結構ちゃんと動いたりするからさらに混乱する。

Rhinoのダウンロードと js.jar の用意

http://www.mozilla.org/rhino/ から rhino1_7R1.zip をダウンロードして展開、 js.jar をカレントディレクトリにコピーしておきます。

readtext.js

importPackage(java.io);

br=BufferedReader( InputStreamReader( FileInputStream("test.txt") ) );
while( line= br.readLine() ){
    if( line==null ){
        break ;
    }
    print( line );
}
br.close();

test.txt

Hello world.

実行

$ java -jar js.jar readtext.js
Hello world.
 Twitter
follow me on Twitter
 Categories