2011-01-09 207 views
1

我想写入我的Firefox插件中的C:\ windows \ temp目录(或其配置的等效目录)。Windows中的“Temp”目录,IO.getFile

https://developer.mozilla.org/en/FileGuide/FileWriting

给人的感觉是有这些途径系统无关名称:

var file = IO.getFile("Desktop", "myinfo.txt"); 
var stream = IO.newOutputStream(file, "text"); 
stream.writeString("This is some text"); 
stream.close(); 

但我不能找到指定的引用任何引用,至于什么“桌面”分。所以这让我不知道文档中给出的名称究竟是什么。

如何使用IO.getFile()在Windows全局临时文件夹中打开文件?

回答

2

又见Code snippets: File I/O上developer.mozilla.org。它回答你的问题(马修是对的,它是“TmpD”),并提供了许多其他文件相关的例子。

哦,IO确实适合你吗?我认为这是unavailable。 [edit2]我在我能找到的页面顶部添加了一条警告,提到它。

+0

你会用什么来代替? – 2011-01-09 15:15:06

1

钥匙描述为here

我相信你想TmpD,这是上市here

1
// Writing stackoverflow.txt to TEMP dir 
const { OS } = Cu.import("resource://gre/modules/osfile.jsm", {}) 
const path = OS.Path.join(OS.Constants.Path.tmpDir, "stackoverflow.txt") 
OS.File.writeAtomic(path, "Hello, StackOverflow!", { 
    encoding: "utf-8", 
    tmpPath: "stackoverflow.txt.tmp", // it's not necessary but I'd recommend to use it 
}).then(() => console.log(path, "has been written")) 
// C:\Users\traxium\AppData\Local\Temp\stackoverflow.txt has been written 

// Reading stackoverflow.txt from TEMP dir 
const { OS } = Cu.import("resource://gre/modules/osfile.jsm", {}) 
const path = OS.Path.join(OS.Constants.Path.tmpDir, "stackoverflow.txt") 
OS.File.read(path, { encoding: "utf-8" }).then(txt => console.log(txt)) 
// "Hello, StackOverflow!" 
相关问题