通过雷鸟扩展操作文件系统



我想通过雷鸟插件对我的文件系统做一些操作。例如,在特定位置创建一个文件夹和一个文本文件,

如你所知,Mozilla Extensions由javascript代码组成。所以我找了这个,发现了一些关于ActiveXObject的代码,它不适合雷鸟。

有什么建议吗?

首先,阅读一般的扩展(Firefox文档也适用于雷鸟,除了Add-on SDK,它并不真正适用于雷鸟;使用XUL覆盖路由)。

然后有多种方式来执行文件I/O,特别是XPCOM的东西和OS.File:

  • https://developer.mozilla.org/en-US/Add-ons/Code_snippets/File_I_O
  • https://developer.mozilla.org/en-US/docs/JavaScript_OS.File/OS.File_for_the_main_thread

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

相关内容

  • 没有找到相关文章

最新更新