Använda metoderna load() och save()

Flash Player 10 och senare, Adobe AIR 1.5 och senare

I Flash Player 10 introducerades metoderna load() och save() i klassen FileReference. Dessa metoder är också tillgängliga i AIR 1.5, och klassen File ärver metoderna från klassen FileReference. Syftet med dessa metoder är att användarna säkert ska kunna läsa in och spara filinformation i Flash Player. AIR-program kan emellertid också använda dessa metoder som ett enkelt sätt att läsa in och spara filer asynkront.

Med följande kod sparas exempelvis en sträng i en textfil:

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."); 
}

save() -metodens data -parameter kan tilldelas ett sträng-, XML- eller bytearrayvärde. Om argumentet är ett sträng- eller XML-värde sparas filen som en UTF-8-kodad textfil.

När det här kodexemplet körs visas en dialogruta där användaren väljer platsen för den sparade filen.

Följande kod läser in en sträng från en UTF-8-kodad textfil:

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); 
}

Klassen FileStream tillhandahåller fler funktioner än metoderna load() och save() :

  • Med FileStream-klassen kan du läsa och skriva data både synkront och asynkront.

  • Med FileStream-klassen kan du skriva till en fil i flera steg.

  • Med FileStream-klassen kan du öppna en fil för direktåtkomst (både läsning från och skrivning till valfritt avsnitt i filen).

  • Med FileStream-klassen kan du ange vilken typ av filåtkomst du har till filen genom att definiera open() - eller openAsync() -metodens fileMode -parameter.

  • Med FileStream-klassen kan du spara data till filer utan att visa en dialogruta av typen Öppna eller Spara för användaren.

  • Du kan direkt använda andra typer än bytearrayer när du läser data med FileStream-klassen.