如何使用firefox插件从硬盘读取/写入文件?

时间:2011-02-13 08:17:12

标签: javascript firefox-addon

是否可以开发一个可以从硬盘读/写文件的Firefox插件?我应该使用什么代码?

1 个答案:

答案 0 :(得分:2)

它只是链接@Hypnos和@ephemient提供的代码的复制(和组合):

const {Cc,Ci} = require("chrome");

//create proper path for file
var theFile = 'd:\\q.txt';
//create component for file writing
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath( theFile );
if(file.exists() == false) //check to see if file exists
{
    file.create( Ci.nsIFile.NORMAL_FILE_TYPE, 420);
}
var foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
// use 0x02 | 0x10 to open file for appending.
//foStream.init(file, 0x02 | 0x10, 0666, 0);
foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); 

// if you are sure there will never ever be any non-ascii text in data you can
// also call foStream.write(data, data.length) directly
var converter = Cc["@mozilla.org/intl/converter-output-stream;1"].createInstance(Ci.nsIConverterOutputStream);
converter.init(foStream,"UTF-8", 0, 0);
converter.writeString('Hi, This is Death. Who are you?');
converter.close(); // this closes foStream
相关问题