Operazioni con i fileAdobe AIR 1.0 e versioni successive Grazie all'API file di AIR potete aggiungere alle vostre applicazioni funzionalità di base per l'interazione con i file. Ad esempio, potete leggere, scrivere, copiare ed eliminare file, e altro ancora. Poiché le applicazioni sono in grado di accedere al file system locale, consultate il capitolo Sicurezza in AIR, se non lo avete ancora letto. Nota: potete associare un tipo di file a un'applicazione AIR (in modo da poterla aprire facendo doppio clic su un file di quel tipo). Per informazioni dettagliate, consultate Gestione delle associazioni di file.
Recupero di informazioni sui fileLa classe File comprende le seguenti proprietà che forniscono informazioni su un file o una directory a cui punta un oggetto File:
Per informazioni dettagliate su queste proprietà, vedete la voce classe File in ActionScript 3.0 Reference for the Adobe Flash Platform (Guida di riferimento di Adobe ActionScript 3.0 per la piattaforma Adobe Flash). Copiatura e spostamento di fileLa classe File comprende due metodi per la copia di file o directory: copyTo() e copyToAsync(). La classe File comprende due metodi per lo spostamento di file o directory: moveTo() e moveToAsync(). I metodi copyTo() e moveTo() operano in modo sincrono, mentre i metodi copyToAsync() e moveToAsync() in modo asincrono (consultate Elementi di base dei file AIR). Per copiare o spostare un file, configurate due oggetti File. Uno punta al file da copiare o spostare e corrisponde all'oggetto che chiama il metodo di copia o spostamento; l'altro punta al percorso di destinazione (risultato). Il caso seguente copia un file test.txt dalla sottodirectory AIR Test della directory documents dell'utente in un file denominato copy.txt presente nella stessa directory: var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var newFile:File = File.resolvePath("AIR Test/copy.txt");
original.copyTo(newFile, true);
In questo esempio, il valore del parametro overwrite del metodo copyTo() (il secondo parametro) è impostato su true. Impostandolo su true, si sovrascrive un file target esistente. Questo parametro è opzionale. Se si imposta su false (il valore predefinito), l'operazione invia un evento IOErrorEvent, nel caso esista un file target (e il file non viene copiato). Le versioni "Async" dei metodi di copia e spostamento operano in modo asincrono. Utilizzate il metodo addEventListener() per monitorare il completamento dell'attività o delle condizioni di errore, come nel codice seguente: 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.");
}
La classe File include anche i metodi File.moveToTrash() e File.moveToTrashAsync() che spostano un file o una directory nel cestino del sistema. Eliminazione di un fileLa classe File comprende un metodo deleteFile() e un metodo deleteFileAsync(). Questi metodi eliminano file: il primo lavora in modo sincrono, il secondo in modo asincrono (consultate Elementi di base dei file AIR). Ad esempio, il codice seguente elimina in modo sincrono il file test.txt nella directory documents dell'utente: var file:File = File.documentsDirectory.resolvePath("test.txt");
file.deleteFile();
Il codice seguente elimina in modo asincrono il file test.txt della directory documents dell'utente: var file:File = File.documentsDirectory.resolvePath("test.txt");
file.addEventListener(Event.COMPLETE, completeHandler)
file.deleteFileAsync();
function completeHandler(event:Event):void {
trace("Deleted.")
}
Sono inclusi inoltre i metodi moveToTrash() e moveToTrashAsync() utilizzabili per spostare un file o una directory nel cestino del sistema. Per informazioni dettagliate, consultate Spostamento di un file nel cestino. Spostamento di un file nel cestinoLa classe File comprende un metodo moveToTrash() e un metodo moveToTrashAsync(). Questi metodi inviano un file o una directory nel cestino del sistema, il primo lavora in modo sincrono, il secondo in modo asincrono (consultate Elementi di base dei file AIR). Ad esempio, il codice seguente sposta in modo sincrono il file test.txt nella directory documents dell'utente nel cestino del sistema: var file:File = File.documentsDirectory.resolvePath("test.txt");
file.moveToTrash();
Nota: nei sistemi operativi che non prevedono la possibilità di ripristinare i file dalla cartella del cestino, i file vengono rimossi immediatamente.
Creazione di un file temporaneoLa classe File comprende un metodo createTempDirectory(), che crea un file nella cartella della directory temporanea del sistema come nell'esempio seguente: var temp:File = File.createTempFile(); Il metodo createTempFile() crea automaticamente un file temporaneo unico (evitando l'operazione di individuare un nuovo percorso unico). Potete utilizzare un file temporaneo per memorizzare temporaneamente le informazioni utilizzate in una sessione dell'applicazione. Notate che è disponibile anche un metodo createTempDirectory() per la creazione di una directory temporanea unica nella directory temporanea di sistema. È possibile eliminare il file temporaneo prima della chiusura dell'applicazione, poiché non viene eliminato automaticamente su tutti i dispositivi. |
|