Werken met bestandenAdobe AIR 1.0 of hoger Met behulp van de AIR API voor het bestandssysteem kunt u basismogelijkheden voor de interactie tussen bestanden toevoegen aan uw toepassingen. U kunt bijvoorbeeld lezen van en schrijven naar bestanden, bestanden kopiëren en verwijderen enzovoort. Aangezien uw toepassingen toegang kunnen krijgen tot het lokale bestandssysteem, is het aan te raden Beveiliging in AIR te raadplegen als u dat nog niet hebt gedaan. Opmerking: U kunt een bestandstype koppelen aan een AIR-toepassing (zodat de toepassing wordt geopend wanneer u dubbelklikt op het bestand). Zie Bestandskoppelingen beheren voor meer informatie.
Bestandsinformatie ophalenDe klasse File bevat de volgende eigenschappen die informatie verstrekken over een bestand dat of een map die wordt aangewezen door een File-object:
Zie het onderwerp over de klasse File in de Naslaggids voor ActionScript 3.0 voor het Adobe Flash-platform voor meer informatie over deze eigenschappen. Bestanden kopiëren en verplaatsenDe klasse File bevat twee methoden voor het kopiëren van bestanden of mappen: copyTo() en copyToAsync(). De klasse File bevat twee methoden voor het verplaatsen van bestanden of mappen: moveTo() en moveToAsync(). De methoden copyTo() en moveTo() werken synchroon, de methoden copyToAsync() en moveToAsync() asynchroon (zie Basisinformatie over AIR-bestanden). Als u een bestand wilt kopiëren of verplaatsen, stelt u twee File-objecten in. Een van deze objecten wijst het bestand aan dat u wilt kopiëren of verplaatsen. Dit is het object dat de kopieer- of verplaatsingsmethode oproept. Het andere object wijst het doelpad (resultaat) aan. Met de volgende code kopieert u het bestand test.txt van de submap AIR Test van de documentenmap van de gebruiker naar het bestand copy.txt in dezelfde map: var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var newFile:File = File.resolvePath("AIR Test/copy.txt"); original.copyTo(newFile, true); In dit voorbeeld is de waarde van de parameter overwrite van de methode copyTo() (de tweede parameter) ingesteld op true. Door overwrite in te stellen op true, wordt een bestaand doelbestand overgeschreven. Deze parameter is optioneel. Als u de parameter instelt op false (de standaardwaarde), verzendt de bewerking de gebeurtenis IOErrorEvent als het doelbestand al bestaat. Het bestand wordt dan niet gekopieerd. De “Async”-versies van de kopieer- en verplaatsingsmethoden werken asynchroon. Gebruik de methode addEventListener() om te controleren of de taak al is voltooid, en of er eventuele fouten zijn opgetreden, bijvoorbeeld met de volgende code: 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."); } De klasse File bevat ook de methoden File.moveToTrash() en File.moveToTrashAsync(), die een bestand of map naar de systeemprullenbak verplaatsen. Bestanden verwijderenDe klasse File bevat de methoden deleteFile() en deleteFileAsync(). Deze methoden verwijderen bestanden, de eerste op synchrone wijze, de tweede op asynchrone wijze (zie Basisinformatie over AIR-bestanden). De volgende code verwijdert bijvoorbeeld synchroon het bestand test.txt uit de documentenmap van de gebruiker: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.deleteFile(); De volgende code verwijdert asynchroon het bestand test.txt uit de documentenmap van de gebruiker: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.addEventListener(Event.COMPLETE, completeHandler) file.deleteFileAsync(); function completeHandler(event:Event):void { trace("Deleted.") } Ook beschikbaar zijn de methoden moveToTrash() en moveToTrashAsync(), die u kunt gebruiken om een bestand of map te verplaatsen naar de systeemprullenbak. Zie Bestanden verplaatsen naar de prullenbak voor meer informatie. Bestanden verplaatsen naar de prullenbakDe klasse File bevat de methoden moveToTrash() en moveToTrashAsync(). Deze methoden sturen een bestand of map naar de systeemprullenbak, de eerste synchroon, de tweede asynchroon (zie Basisinformatie over AIR-bestanden). De volgende code verplaatst bijvoorbeeld synchroon het bestand test.txt uit de documentenmap van de gebruiker naar de systeemprullenbak: var file:File = File.documentsDirectory.resolvePath("test.txt"); file.moveToTrash(); Opmerking: Als een besturingssysteem geen ondersteuning biedt voor het concept van een prullenbak waarbij bestanden kunnen worden hersteld, worden de bestanden direct verwijderd.
Tijdelijke bestanden makenDe klasse File bevat de methode createTempFile(), die een bestand maakt in de Temp-map van het systeem, zoals in het volgende voorbeeld: var temp:File = File.createTempFile(); De methode createTempFile() maakt automatisch een uniek tijdelijk bestand (zodat u niet zelf een nieuwe unieke locatie hoeft te bepalen). U kunt een tijdelijk bestand gebruiken om tijdelijk informatie op te slaan die wordt gebruikt in een sessie van de toepassing. Er is ook de methode createTempDirectory() voor het maken van een unieke tijdelijke map in de Temp-map van het systeem. U kunt desgewenst het tijdelijke bestand verwijderen voordat de toepassing wordt gesloten, aangezien dit bestand niet automatisch wordt verwijderd op alle apparaten. |
![]() |