我的 Firefox 扩展中有一个类似哈希表的数据集,我愿意将其保存在一个简单的文本文件中。我已经浏览了很多示例代码,但没有一个对我有用。例如,1 , 2 。我是在 Firefox 上开发扩展的初学者,在我看来,写入文件的语法有点复杂。谁能给我一个有效的例子?顺便说一句,我使用的是unix。因为我看到了他们使用 Windows 系统调用写入文件的示例。
最佳答案
下面是一些示例代码,用于将名为 myfile.txt 的文件写入您的 Firefox 配置文件目录:
var txt = "my file contents";
var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsIFile);
file.append("myfile.txt");
var fs = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
fs.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
fs.write(txt, txt.length);
fs.close();
如果您使用的是 Firefox Addon SDK (jetpack),则需要对其进行一些修改。
var {Cc, Ci} = require("chrome");
var txt = "my file contents";
var file = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("ProfD", Ci.nsIFile);
file.append("myfile.txt");
var fs = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
fs.init(file, 0x02 | 0x08 | 0x20, 0664, 0); // write, create, truncate
fs.write(txt, txt.length);
fs.close();
关于javascript - Firefox 扩展将数据写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23705970/