2014-05-09 43 views
0

我想通過Thunderbird插件在我的文件系統上執行一些操作。 例如,在該文件夾中的特定位置創建一個文件夾,並在文本文件中包含來自thunderbird的一些數據的文本文件 。通過Thunderbird擴展的文件系統操作

如您所知,Mozilla擴展由JavaScript代碼組成。 所以我查找了這個,發現了一些關於ActiveXObject的代碼,它不適用於Thunderbird。

任何想法我應該怎麼做呢?

回答

1

首先,請閱讀extensions in general(火狐文檔同樣適用於Thunderbird,除了附加SDK外,它並不真正與Thunderbird一起使用;轉到XUL覆蓋路由)。

然後有多種方式來執行文件I/O,特別是XPCOM的東西,OS.File

+0

感謝您的回覆,我希望有一些關於創建,刪除文件夾等信息:) –

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