Während dem arbeiten an einer Firefox Extension ist mir aufgefallen, dass keine fertige Funktion zum Schreiben bzw. erweitern / anhängen an Dateien zu finden ist. Generell scheint das Schreiben von Daten auf der Festplatte in Firefox Extensions etwas kompliziert gelöst zu sein. Hier ein kurzer Snippet zum Schreiben von Daten in eine Datei:

var writeFile = function(fileName, data) {
		var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsIFile);  
		file.append(fileName);  
		var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
		// use 0x02 | 0x10 to open file for appending.
		foStream.init(file, 0x02 | 0x10 | 0x08, 00666, 0); // write(only), append, create file
		foStream.write(data, data.length);
		foStream.close();	
}
 
writeFile('Guten Morgen', '/tmp/xxx.txt');
Keine Kommentare »