Arbeta med -filerAdobe AIR 1.0 och senare Med API:et för AIR-filer kan du lägga till grundläggande funktioner för filinteraktion i programmet. Du kan till exempel läsa och skriva filer, kopiera och ta bort filer och så vidare. Eftersom programmet har tillgång till det lokala filsystemet bör du läsa igenom AIR-säkerhet om du inte redan har gjort det. Obs! Du kan associera en filtyp med ett AIR-program (så att programmet öppnas när du dubbelklickar på en fil). Mer information finns i Hantera filassociationer.
Hämta filinformationKlassen File omfattar följande egenskaper som tillhandahåller information om en fil eller katalog som ett File-objekt pekar mot:
Mer information om dessa egenskaper finns i avsnittet om File-klassen i Referenshandbok för ActionScript 3.0 i Adobe Flash-plattformen. Kopiera och flytta filerKlassen File omfattar två metoder för att kopiera filer eller kataloger: copyTo() och copyToAsync(). Klassen File omfattar två metoder för att flytta filer eller kataloger: moveTo() och moveToAsync(). Metoderna copyTo() och moveTo() fungerar synkront, och metoderna copyToAsync() och moveToAsync() fungerar asynkront (se Grunderna för AIR-filer). Om du vill kopiera eller flytta en fil ska du ställa in två File-objekt. Ett pekar mot filen som ska kopieras eller flyttas, och detta är objektet som anropar metoden copy eller move. Det andra pekar mot målsökvägen (resultatet). Koden nedan kopierar en test.txt-fil från underkatalogen AIR Test i användarens dokumentkatalog till en fil med namnet copy.txt i samma katalog: var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var newFile:File = File.resolvePath("AIR Test/copy.txt"); original.copyTo(newFile, true); I det här exemplet ställs värdet på parametern overwrite för metoden copyTo() (den andra parametern) in på true. Genom att ställa in overwrite på true skrivs en befintlig målfil över. Den här parametern är valfri. Om du ställer in den på false (standardvärdet) skickar åtgärden en IOErrorEvent-händelse om målfilen finns (och filen kopieras inte). ”Async”-versionerna av metoderna copy och move fungerar asynkront. Använd metoden addEventListener() om du vill övervaka hur uppgiften genomförs eller felvillkoren, som i koden nedan: var original = File.documentsDirectory; original = original.resolvePath("AIR Test/test.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test 2/copy.txt"); original.addEventListener(Event.COMPLETE, fileMoveCompleteHandler); original.addEventListener(IOErrorEvent.IO_ERROR, fileMoveIOErrorEventHandler); original.moveToAsync(destination); function fileMoveCompleteHandler(event:Event):void { trace(event.target); // [object File] } function fileMoveIOErrorEventHandler(event:IOErrorEvent):void { trace("I/O Error."); } Klassen File omfattar också metoderna File.moveToTrash() och File.moveToTrashAsync(), som flyttar en fil eller katalog till systemets papperskorg. Ta bort en filKlassen File omfattar en deleteFile()-metod och en deleteFileAsync()-metod. Dessa metoder tar bort filer; den första fungerar synkront medan den andra fungerar asynkront (se Grunderna för AIR-filer). Följande kod tar synkront bort filen test.txt i användarens dokumentkatalog: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.deleteFile(); Följande kod tar asynkront bort filen test.txt i användarens dokumentkatalog: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.addEventListener(Event.COMPLETE, completeHandler) file.deleteFileAsync(); function completeHandler(event:Event):void { trace("Deleted.") } Metoderna moveToTrash() och moveToTrashAsync() ingår också, som du använder när du vill flytta en fil eller katalog till systemets papperskorg. Mer information finns i Flytta en fil till papperskorgen. Flytta en fil till papperskorgenKlassen File omfattar en moveToTrash()-metod och en moveToTrashAsync()-metod. Dessa metoder skickar en fil eller katalog till systemets papperskorg. Den första fungerar synkront medan den andra fungerar asynkront (se Grunderna för AIR-filer). Följande kod flyttar filen test.txt i användarens dokumentkatalog synkront till systemets papperskorg: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.moveToTrash(); Obs! På operativsystem som saknar stöd för en återställningsbar papperskorg tas filerna bort direkt.
Skapa en tillfällig filKlassen File omfattar en createTempFile()-metod, som skapar en fil i den tillfälliga katalogmappen för systemet, som i följande exempel: var temp:File = File.createTempFile(); Metoden createTempFile() skapar automatiskt en unik tillfällig fil (så att du inte behöver fastställa en ny unik plats). Du kan använda en tillfällig fil om du tillfälligt behöver lagra information som används i en programsession. Observera att det även finns en createTempDirectory()-metod för att skapa en unik tillfällig katalog i den tillfälliga systemkatalogen. Du kanske vill ta bort den tillfälliga filen innan programmet avslutas, eftersom den inte tas bort automatiskt på alla enheter. |
|