Directorio "Temp" en Windows, IO.getFile

Me gustaría escribir en el directorio C: \ windows \ temp (o su equivalente configurado) dentro de mi complemento de Firefox.

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

Da la impresión de que existen nombres independientes del sistema para estas rutas:

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

Pero no puedo encontrar ninguna referencia en las referencias especificadas, en cuanto a lo que apunta "Escritorio". Entonces eso me deja sin saber a qué se refiere exactamente en los nombres dados por la documentación.

¿Cómo uso IO.getFile () para abrir un archivo en la carpeta temporal global de Windows?

preguntado el 09 de enero de 11 a las 11:01

3 Respuestas

Véase también Fragmentos de código: E / S de archivos en developer.mozilla.org. Responde a su pregunta (Matthew tiene razón, es "TmpD") y proporciona muchos otros ejemplos relacionados con archivos.

[editar] Ah, y lo hace IO realmente funciona para ti? Yo pensé que era indisponible. [edit2] Agregué una advertencia en la parte superior de las páginas que pude encontrar, que lo mencionan.

Respondido el 09 de enero de 11 a las 17:01

@Justin Alexander: Acabo de vincularme adeveloper.mozilla.org/en/Code_snippets/…>, tiene el código de trabajo. Si está pidiendo los envoltorios, no tengo el preferido. Intento imitar lo que hace el código de Firefox; si se les ocurre un contenedor estándar, lo usaría. - Nickolay

Las claves se describen .

Creo que quieres TmpD, que está listado

Respondido el 09 de enero de 11 a las 14:01

// 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!"

Respondido el 14 de diciembre de 16 a las 05:12

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.