我想通过Thunderbird插件对我的文件系统进行一些操作。 例如,在特定位置创建文件夹和文本文件, 包含来自thunderbird的一些数据,在此文件夹中。
如您所知,Mozilla Extensions包含javascript代码。 所以我找了这个,发现了一些关于ActiveXObject的代码,这对Thunderbird不起作用。
任何想法我该怎么办呢?
答案 0 :(得分:1)
首先,阅读extensions in general(Firefox文档同样适用于Thunderbird,但附加SDK除外,它与Thunderbird无关;请使用XUL覆盖路径。)
然后有多种方法可以执行文件I / O,特别是XPCOM内容和OS.File
:
答案 1 :(得分:0)
以下是我的扩展程序中的代码段。我在Profile目录中创建文本文件,然后在这个文件中添加一些文本。
var path = Components.classes["@mozilla.org/file/directory_service;1"].getService( Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsIFile).path + "\\";
var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
file.initWithPath(path);
file.append("settings.txt")
file.create(Components.interfaces.nsIFile.NORMAL_FILE_TYPE, 0664)
var outputStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance( Components.interfaces.nsIFileOutputStream );
outputStream.init( file, 0x04 | 0x10, 0664, 0 );
var output = "some text here"
var result = outputStream.write( output, output.length );
outputStream.close();