jscriptバイナリファイルを読む方法
本論文の実例は、jscriptがバイナリファイルを読み書きする方法を述べている。皆さんの参考にしてください。具体的な実現方法は以下の通りです。
var bin = new Array(256);
for(var i=0;i<256;i++){
bin[i]=String.fromCharCode(i);
}
function TestWrite(){
var Stream = new ActiveXObject("ADODB.Stream");
var adTypeBinary=1,adTypeText=2;
Stream.Type = adTypeText;
Stream.CharSet = "iso-8859-1";
Stream.Open();
//Stream.WriteText("\x00\x01\x02\xff\xff");
for(var i=0;i<256;i++){
Stream.WriteText(String.fromCharCode(i));
//Stream.WriteText(bin[i]);
}
Stream.SaveToFile("c:\\windows\\temp\\test.bin", 2);
Stream.Close();
Stream = null;
}
function BinaryFile(filepath){
var adTypeBinary=1,adTypeText=2;
var adSaveCreateNotExist=1,adSaveCreateOverWrite=2;
var adReadAll=-1,adReadLine=-2;
this.path=filepath;
this.WriteAll = function(content){
var Stream = new ActiveXObject("ADODB.Stream");
Stream.Type = adTypeText;
Stream.CharSet = "iso-8859-1";
Stream.Open();
Stream.WriteText(content);
Stream.SaveToFile(this.path, adSaveCreateOverWrite);
Stream.Close();
Stream = null;
}
this.ReadAll = function(){
var Stream = new ActiveXObject("ADODB.Stream");
Stream.Type = adTypeText;
Stream.CharSet = "iso-8859-1";
Stream.Open();
Stream.LoadFromFile(this.path);
var content = Stream.ReadText(adReadAll);
Stream.Close();
Stream = null;
return content;
}
}
使い方の例は以下の通りです。
var crFolder = 'C:/Temp/cr'
var bf1=new BinaryFile(crFolder+"/PCDV0026.JPG");
var bf2=new BinaryFile(crFolder+"/PCDV0026_.JPG");
bf2.WriteAll(bf1.ReadAll());
本論文で述べたように、皆さんのjavascriptプログラムの設計に役に立ちます。