js读写二进制文件简单代码实例

快乐打工仔 分类:实例代码

本文分享一段代码实例,它实现了读写二进制文件的功能。

里面涉及到ActiveXObject对象的使用技巧,需要的朋友可以做一下参考。

代码实例如下:

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());
js读写二进制文件简单代码实例

回复

我来回复
  • 暂无回复内容