js讀寫二進位制檔案簡單程式碼例項

admin發表於2017-04-06

本文分享一段程式碼例項,它實現了讀寫二進位制檔案的功能。

裡面涉及到ActiveXObject物件的使用技巧,需要的朋友可以做一下參考。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
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;
  }
}

用法示例如下:

[JavaScript] 純文字檢視 複製程式碼
var crFolder = 'C:/Temp/cr'
var bf1=new BinaryFile(crFolder+"/PCDV0026.JPG");
var bf2=new BinaryFile(crFolder+"/PCDV0026_.JPG");
bf2.WriteAll(bf1.ReadAll());

相關文章