Javascript 通过Thunderbird扩展的文件系统操作

Javascript 通过Thunderbird扩展的文件系统操作,javascript,thunderbird,thunderbird-addon,Javascript,Thunderbird,Thunderbird Addon,我想通过Thunderbird插件在我的文件系统上做一些操作。 例如,在特定位置创建文件夹和文本文件, 包含来自thunderbird的一些数据,在此文件夹中 正如您所知,Mozilla扩展由javascript代码组成。 所以我查找了这个,找到了一些关于ActiveXObject的代码,它不适用于Thunderbird 有什么想法吗?首先,请仔细阅读(Firefox文档也适用于Thunderbird,但附加SDK除外,它实际上不适用于Thunderbird;请使用XUL覆盖路径) 然后有多种方

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

正如您所知,Mozilla扩展由javascript代码组成。 所以我查找了这个,找到了一些关于ActiveXObject的代码,它不适用于Thunderbird

有什么想法吗?

首先,请仔细阅读(Firefox文档也适用于Thunderbird,但附加SDK除外,它实际上不适用于Thunderbird;请使用XUL覆盖路径)

然后有多种方式执行文件I/O,特别是XPCOM内容和
OS.File


    • 这是我的扩展中的一段代码片段。我在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(); 
      

      感谢您的回复,我希望有一些关于创建、删除文件夹等的信息:)