我想在我的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文件夹中打开文件?
答案 0 :(得分:2)
另请参阅developer.mozilla.org上的Code snippets: File I/O。它回答了你的问题(马修是对的,它是“TmpD”),并提供了许多其他与文件相关的例子。
[编辑]哦,IO
真的适合你吗?我以为是unavailable。 [edit2]我在我能找到的页面顶部添加了一个警告,提到它。
答案 1 :(得分:1)
答案 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!"