JavaScript创建与读写本地文件(IE&Firefox) .

 在IE下,可以使用ActiveXObject来实现

      var fso = new ActiveXObject("Scripting.FileSystemObject"); 
      var f1 = fso.CreateTextFile("test.csv", true); 
      f1.WriteLine("Hello");
      f1.WriteBlankLines(1); //换行
      f1.Close();

这里可以使用相对地址, 要想知道文件的绝对路径的话, 可以使用

      var ofile=fso.getFile("test.csv");
      alert(ofile.path);


在Firefox下, ActiveXObject无法使用, 可以用以下方式实现

var path = "c:\\test.csv";
var content = "Hell0";
try { 

   netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
   alert("no permisson..."); 
} 
var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(path); 
if ( file.exists() == false )
{ 
  file.create( Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 420 ); 
} 
var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"] .createInstance( Components.interfaces.nsIFileOutputStream );
outputStream.init( file, 0x04 | 0x08 | 0x20, 420, 0 ); 
var converter = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] .createInstance(Components.interfaces.nsIScriptableUnicodeConverter);
converter.charset = 'UTF-8'; var convSource = converter.ConvertFromUnicode(content);
var result = outputStream.write( convSource, convSource.length ); 
outputStream.close();
alert("File was saved in "+path);

如果弹出 no permisson... 的窗口的话就要修改firefox的config了。

修改方法: 在地址栏输入about:config   --> 找到 signed.applets.codebase_principal_support -->双击 值改为true就可以了。

此处的path指定的是绝对的地址, 如果使用相对地址, 有兴趣的可以再研究研究。




 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值