Arbetsflödet för att läsa och skriva filer ser ut så här.
Initiera ett File-objekt som pekar på sökvägen.
File-objektet representerar sökvägen till filen som du vill arbeta med (eller till en fil som du skapar senare).
var file:File = File.documentsDirectory;
file = file.resolvePath("AIR Test/testFile.txt");
I exemplet används egenskapen
File.documentsDirectory
och metoden
resolvePath()
för ett File-objekt för att initiera File-objektet. Det finns emellertid andra sätt att peka ett File-objekt mot en fil. Mer information finns i
Peka ett File-objekt mot en fil
.
Initiera ett FileStream-objekt.
Anropa metoden open() eller metoden openAsync() för FileStream-objektet.
Vilken metod du ska anropa beror på om du vill öppna filen för synkrona eller asynkrona åtgärder. Använd File-objektet som
file
-parameter för metoden open. För parametern
fileMode
anger du en konstant från klassen FileMode som anger hur du ska använda filen.
Följande kod initierar ett FileStream-objekt som används för att skapa en fil och skriva över befintliga data:
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
Mer information finns i
Initialisera ett FileStream-objekt samt öppna och stänga filer
och
Öppningslägen för FileStream
.
Om du öppnar filen asynkront (med metoden openAsync()) ska du lägga till och ställa in händelseavlyssnare för FileStream-objektet.
Dessa händelseavlyssnarmetoder svarar på händelser som skickas av FileStream-objektet i olika situationer. Det kan till exempel vara när data läses från filen, om ett I/O-fel påträffas eller när skrivningen av data har slutförts.
Mer information finns i
Asynkron programmering och händelser som genereras av ett FileStream-objekt som öppnas asynkront
.
Inkludera kod för att läsa och skriva data, om det behövs.
Det finns många metoder för klassen FileStream som berör läsa och skriva. (Alla inleds med ”read” respektive ”write”.) Vilken metod som du ska välja för att läsa eller skriva data beror på formatet på data i målfilen.
Om data i målfilen till exempel är UTF-kodad text kan du använda metoderna
readUTFBytes()
och
writeUTFBytes()
. Om du vill hantera data som bytearrayer kan du använda metoderna
readByte()
,
readBytes()
,
writeByte()
och
writeBytes()
. Mer information finns i
Dataformat och att välja read- eller write-metod
.
Om du öppnar filen asynkront måste du se till att det finns tillräckligt med data innan du anropar en läsmetod. Mer information finns i
Läsbufferten och egenskapen bytesAvailable för ett FileStream-objekt
.
Om du vill kontrollera hur mycket ledigt diskutrymme som finns innan du skriver till en fil, kontrollerar du egenskapen spaceAvailable för File-objektet. Mer information finns i
Ta reda på ledigt utrymme på en volym
.
Anropa metoden close() för FileStream-objektet när du har arbetat klart med filen.
Om du anropar metoden close() blir filen tillgänglig för andra program.
Mer information finns i
Initialisera ett FileStream-objekt samt öppna och stänga filer
.
Ett exempelprogram som använder klassen FileStream för att läsa och skriva filer finns i följande artiklar på Adobe AIR Developer Center: