Utilisation des fichiersAdobe AIR 1.0 et ultérieur L’API de fichiers d’AIR vous permet d’ajouter des fonctionnalités de manipulation des fichiers de base à vos applications. Vous pouvez ainsi accéder à des fichiers en lecture ou en écriture, copier et supprimer des fichiers, etc. Comme vos applications ont accès au système de fichiers local, voir le chapitre Sécurité AIR, si ce n’est déjà fait. Remarque : vous pouvez associer un type de fichier à une application AIR (afin qu’un double-clic sur le fichier entraîne l’ouverture de l’application). Pour plus d’informations, voir la section Gestion des associations de fichiers.
Obtention d’informations sur les fichiersLa classe File comprend les propriétés suivantes qui fournissent des informations sur un fichier ou un répertoire vers lequel pointe un objet File :
Pour plus d’informations sur ces propriétés, voir l’entrée consacrée à la classe File dans le manuel Guide de référence ActionScript 3.0 pour la plate-forme Adobe Flash. Copie et déplacement de fichiersLa classe File comprend deux méthodes permettant de copier des fichiers ou des répertoires : copyTo() et copyToAsync(). Elle propose également deux méthodes permettant de déplacer des fichiers ou des répertoires : moveTo() et moveToAsync(). Les méthodes copyTo() et moveTo() s’exécutent en mode synchrone, les méthodes copyToAsync() et moveToAsync() en mode asynchrone (voir la section Principes de base des classes File d’AIR). Pour copier ou déplacer un fichier, vous définissez deux objets File. L’un pointe vers le fichier à copier ou déplacer et appelle la méthode copy ou move. L’autre pointe vers le chemin de destination (résultant). Le code suivant copie le fichier test.txt qui réside dans le sous-répertoire AIR Test du répertoire de documents de l’utilisateur vers le fichier copy.txt dans le même répertoire : var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var newFile:File = File.resolvePath("AIR Test/copy.txt"); original.copyTo(newFile, true); Dans cet exemple, la valeur du deuxième paramètre, overwrite, de la méthode copyTo() est définie sur true. Si vous définissez le paramètre overwrite sur true, tout fichier cible existant est remplacé. Ce paramètre est facultatif. Si vous le définissez sur false (valeur par défaut), un événement IOErrorEvent est distribué si le fichier cible existe (et le fichier n’est pas copié). La version « Async » des méthodes copy et move s’exécute en mode asynchrone. La méthode addEventListener() permet de surveiller la fin de la tâche ou les erreurs, comme l’illustre le code suivant : 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 comprend également les méthodes File.moveToTrash() et File.moveToTrashAsync(), qui déplacent un fichier ou un répertoire vers la corbeille système. Suppression d’un fichierLa classe File comprend les méthodes deleteFile() et deleteFileAsync(). Ces méthodes suppriment des fichiers. La première s’exécute en mode synchrone et la seconde en mode asynchrone (voir la section Principes de base des classes File d’AIR). Par exemple, le code suivant supprime, en mode synchrone, le fichier test.txt du répertoire de documents de l’utilisateur : var file:File = File.documentsDirectory.resolvePath("test.txt"); file.deleteFile(); Le code suivant supprime, en mode asynchrone, le fichier test.txt du répertoire de documents de l’utilisateur : var file:File = File.documentsDirectory.resolvePath("test.txt"); file.addEventListener(Event.COMPLETE, completeHandler) file.deleteFileAsync(); function completeHandler(event:Event):void { trace("Deleted.") } Vous disposez également des méthodes moveToTrash() et moveToTrashAsync(), qui permettent de déplacer un fichier ou un répertoire vers la corbeille système. Pour plus d’informations, voir la section Déplacement d’un fichier vers la corbeille. Déplacement d’un fichier vers la corbeilleLa classe File comprend les méthodes moveToTrash() et moveToTrashAsync(). Ces méthodes envoient un fichier ou un répertoire dans la corbeille système. La première s’exécute en mode synchrone et la seconde en mode asynchrone (voir la section Principes de base des classes File d’AIR). Par exemple, le code suivant déplace, en mode synchrone, le fichier test.txt du répertoire de documents de l’utilisateur vers la corbeille système : var file:File = File.documentsDirectory.resolvePath("test.txt"); file.moveToTrash(); Remarque : sur les systèmes d’exploitation qui ne prennent pas en charge le concept de dossier de corbeille récupérable, ces fichiers sont immédiatement supprimés.
Création d’un fichier temporaireLa classe File comprend la méthode createTempFile(), qui crée un fichier dans le répertoire temporaire système, comme l’illustre l’exemple suivant : var temp:File = File.createTempFile(); La méthode createTempFile() crée automatiquement un fichier temporaire unique (ce qui vous évite d’avoir à déterminer un nouvel emplacement unique). Vous pouvez utiliser un fichier temporaire pour stocker provisoirement des informations utilisées au cours d’une session de l’application. Vous remarquerez que vous disposez également de la méthode createTempDirectory(), qui permet de créer un répertoire temporaire unique dans le répertoire temporaire système. Vous pouvez éventuellement supprimer le fichier temporaire avant de fermer l’application, car cette opération n’est pas automatiquement effectuée sur tous les périphériques. |
![]() |