Verwenden der load()- und save()-Methoden

Flash Player 10 und höher, Adobe AIR 1.5 und höher

In Flash Player 10 wurden die load() - und save() -Methoden zur FileReference-Klasse hinzugefügt. Diese Methoden gibt es auch in AIR 1.5; und die File-Klasse übernimmt die Methoden von der FileReference-Klasse. Diese Methoden wurden entwickelt, um in Flash Player eine sichere Möglichkeit zum Laden und Speichern von Dateien bereitzustellen. AIR-Anwendungen können diese Methoden jedoch auch als einfache Möglichkeit zum asynchronen Laden und Speichern von Dateien verwenden.

Im folgenden Beispiel wird ein String in einer Textdatei gespeichert:

var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); 
var str:String = "Hello."; 
file.addEventListener(Event.COMPLETE, fileSaved); 
file.save(str); 
function fileSaved(event:Event):void 
{ 
    trace("Done."); 
}

Der data -Parameter der save() -Methode kann einen String-, XML- oder ByteArray-Wert aufweisen. Wenn das Argument ein String- oder XML-Wert ist, speichert die Methode die Datei als UTF-8-kodierte Textdatei.

Wenn dieses Codebeispiel ausgeführt wird, zeigt die Anwendung ein Dialogfeld an, in dem der Benutzer ein Ziel für die gespeicherte Datei auswählt.

Im folgenden Beispiel wird ein String aus einer UTF-8-kodierten Textdatei geladen:

var file:File = File.applicationStorageDirectory.resolvePath("test.txt"); 
file.addEventListener(Event.COMPLETE, loaded); 
file.load(); 
var str:String; 
function loaded(event:Event):void 
{ 
    var bytes:ByteArray = file.data; 
    str = bytes.readUTFBytes(bytes.length); 
    trace(str); 
}

Die FileStream-Klasse bietet mehr Funktionen als die von den load() - und save() -Methoden bereitgestellten:

  • Mithilfe der FileStream-Klasse können Sie Daten sowohl synchron als auch asynchron lesen und schreiben.

  • Mithilfe der FileStream-Klasse können Sie inkrementell in eine Datei schreiben.

  • Mithilfe der FileStream-Klasse können Sie eine Datei für den zufälligen Zugriff öffnen (lesen aus und schreiben in beliebige Abschnitte der Datei).

  • Mithilfe der FileStream-Klasse können Sie angeben, welche Art Zugriff Sie auf die Datei haben, indem Sie den fileMode -Parameter der open() - oder openAsync() -Methode festlegen.

  • Mithilfe der FileStream-Klasse können Sie Daten in Dateien speichern, ohne dass dem Benutzer ein Dialogfeld zum Öffnen oder Speichern angezeigt wird.

  • Sie können andere Typen als Byte-Arrays direkt verwenden, wenn Sie Daten mit der FileStream-Klasse lesen.