- 2009-10-06 (火) 4:15
- programming
XULからローカルのファイルを読み書きする必要があったので,その方法を調べていた.
Mozilla developer centerを見ているとFIle I/Oについてのページがあって,これによるとXPCOMを利用することによって,ローカルファイルにアクセスすることが可能になるようです.ただし,このページに従うと,結構コードが複雑になってしまいそうなので,ラッパーライブラリを利用することに.
今回利用したのは,Io.jsというライブラリです.めんどくさい部分が見えないようになってるし,わかりやすいサンプルコードがついているので,非常に利用しやすいです.
実際の利用法法としては,XULファイルから,下記のような感じでio.jsを呼びだすように記述.
<script type="application/x-javascript" src="io.js" /> <script type="application/x-javascript" src="myxulcode.js" />
そして,メインのコードの中から下記のような感じで,IO.jsを利用してやれば良い.
var fileIn = FileIO.open('C:\\aaa\\aaaaaa.txt');
if (fileIn.exists()) { var fileOut = FileIO.open('C:\\aaa\\bbbbbb.txt'); var str = FileIO.read(fileIn); var rv = FileIO.write(fileOut, str); alert('File write: ' + rv); rv = FileIO.write(fileOut, str, 'a'); alert('File append: ' + rv); rv = FileIO.unlink(fileOut); alert('File unlink: ' + rv);
}
注意点としては,FileIo.openは中でnsILocalFileのinitWithPathを呼び出しているだけなので,FireFoxの拡張フォルダにアクセスできるわけではないということ.
- Newer: JavaScriptで文字列型から整数型への変換速度比較
- Older: XULからスクロールバーの位置を取得する
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://kur.jp/2009/10/06/file-io-from-xul/trackback/
- Listed below are links to weblogs that reference
- XULからローカルファイルの読み込み・書き込みを行う from kur.jp