RDFについてはRDFの操作方法の憶
え方やRDF
Data Wrapper - RDF の操作、XUL
メモ: RDF 操作、RDF研究などの情
報があります。
FOAFについてはFOAF Readerが
参考になるでしょう。
HTMLからテキストに変換したいならXUL
メモ: HTML to TEXTなんてのが。
バイナリファイルの書き出すにはnsIBinaryOutputStreamを使います。(上のテキストファイルの書き出しの改造版です。すんませ
ん。>Piro氏)
aFileには書き出すファイルをnsIFileで。aDataに書き出したいデータを入れ、aTypeにどの型で出力するかを指定してください。
まだ詳しく調べているわけではありませんので、UTF8のほかにも使えないものがあるかもしれません。こんど簡単なビットマップを出力するアプリで も組んでみようかと思います。でも単純過ぎても面白くないのでQRコードでも出しますかね。//バイナリファイルの書き出し
function writeBinaryTo(aFile,aData,aType){
if (aFile.exists()) aFile.remove(true); // 上書き確認は無し。必要があれば処理を追加。
aFile.create(aFile.NORMAL_FILE_TYPE, 0666); // アクセス権を8進数で指定。 Win9x などでは無視される。
var fileout = Components.classes['@mozilla.org/network/file-output-stream;1'].createInstance(Components.interfaces.nsIFileOutputStream);
fileout.init(aFile, 2, 0x200, false); // open as "write only"
var binout = Components.classes["@mozilla.org/binaryoutputstream;1"]
.createInstance(Components.interfaces.nsIBinaryOutputStream);//ここが肝です
binout.setOutputStream(fileout);//初期化(?)
switch(aType){
case "8":
binout.write8( aData );
break;
case "16":
binout.write16( aData );
break;
case "32":
binout.write32( aData );
break;
case "64":
binout.write64( aData );
break;
case "boolean":
binout.writeBoolean( aData );
break;
case "byteArray":
binout.writeByteArray( aData , aData.length );
break;
case "bytes":
binout.writeBytes( aData , aData.length );
break;
case "double":
binout.writeDouble( aData );
break;
case "float":
binout.writeFloat( aData );
break;
case "stringZ":
binout.writeStringZ( aData );
break;
case "utf8Z"://注意:使おうとしても「未実装です」といわれてしまい、使えません。
binout.writeUtf8Z( aData );
break;
case "wStringZ":
binout.writeWStringZ( aData );
break;
default:
break;
}
fileout.close();
return file;
}