Windows中的“Temp”目录,IO.getFile

时间:2011-01-09 11:42:24

标签: firefox-addon

我想在我的Firefox-addon中写入C:\ windows \ temp目录(或它配置的等效目录)。

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 global temp文件夹中打开文件?

3 个答案:

答案 0 :(得分:2)

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

[编辑]哦,IO真的适合你吗?我以为是unavailable。 [edit2]我在我能找到的页面顶部添加了一个警告,提到它。

答案 1 :(得分:1)

密钥描述为here

我相信你想要TmpD,列出here

答案 2 :(得分: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!"