通过Thunderbird Extension进行文件系统操作

时间:2014-05-09 23:46:29

标签: javascript thunderbird thunderbird-addon

我想通过Thunderbird插件对我的文件系统进行一些操作。 例如,在特定位置创建文件夹和文本文件, 包含来自thunderbird的一些数据,在此文件夹中。

如您所知,Mozilla Extensions包含javascript代码。 所以我找了这个,发现了一些关于ActiveXObject的代码,这对Thunderbird不起作用。

任何想法我该怎么办呢?

2 个答案:

答案 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();