L’avantage de l’ouverture asynchrone des fichiers est qu’un autre code peut s’exécuter pendant que Adobe AIR exécute des processus de lecture et d’écriture en arrière-plan. Dans le cas d’une ouverture asynchrone, des événements
Un objet File ouvert de façon synchrone se comporte un peu comme un objet ByteArray ; un fichier ouvert de façon asynchrone se comporte un peu comme un objet Socket ou URLStream Lorsqu’un objet File est ouvert de façon synchrone, l’appelant fait une pause pendant la lecture ou l’écriture des données demandées dans le fichier sous-jacent. Lorsqu’un fichier est ouvert de façon asynchrone, les données écrites dans le flux sont immédiatement mises en mémoire tampon et écrites ultérieurement dans le fichier.
Que la lecture d’un fichier soit synchrone ou asynchrone, les méthodes de lecture réelles sont synchrones. Dans les deux cas, elles lisent les données actuellement « disponibles ». Lorsque les données sont lues de façon synchrone, elles sont toutes disponibles à tout moment. Alors que lors d’une lecture asynchrone, les données deviennent disponibles au fur et à mesure de leur arrivée dans le tampon de lecture. Dans les deux cas, les données pouvant être lues de façon synchrone à un moment donné sont représentées par la propriété
Une application qui traite une entrée de façon asynchrone s’enregistre généralement pour les événements
Vous ne pouvez plus lire ni écrire des données après avoir appelé la méthode
La fermeture de l’application entraîne la fermeture automatique de tous les fichiers associés aux objets FileStream de l’application. Toutefois, il est préférable d’enregistrer un événement
Vous pouvez réutiliser l’objet FileStream en appelant la méthode
Dans le cas d’un objet FileStream ouvert de façon asynchrone (avec la méthode
Si l’objet FileStream est déjà ouvert, un appel à la méthode ferme le fichier avant l’ouverture et aucun autre événement (y compris
Si le paramètre
Dans les systèmes qui prennent en charge le verrouillage de fichiers, un fichier ouvert en mode « écriture » ou en mode « mise à jour » (
Une fois que vous avez terminé de réaliser des opérations sur le fichier, appelez la méthode
Si l’objet FileStream est déjà ouvert, un appel à la méthode ferme le fichier avant l’ouverture et aucun autre événement (y compris
Dans les systèmes qui prennent en charge le verrouillage de fichiers, un fichier ouvert en mode « écriture » ou en mode « mise à jour » (
Une fois que vous avez terminé de réaliser des opérations sur le fichier, appelez la méthode
Remarque : si la valeur du paramètre
Cette méthode est similaire à la méthode
Les octets situés entre la position spécifiée par la propriété
Si le paramètre
Si les paramètres
La valeur est une constante extraite de la classe ObjectEncoding. Par défaut, le format AMF3 est utilisé.
Cette valeur est modifiée dans l’un des cas suivants :
La position est définie sous forme numérique (à la place d’uint) pour que les fichiers dont la longueur est supérieure à 232 octets puissent être pris en charge. La valeur de cette propriété est toujours un nombre entier inférieur à 253. Si vous définissez cette valeur sur un nombre décimal, la valeur est arrondie au nombre entier le plus proche.
Lorsqu’un fichier est lu de façon asynchrone, si vous définissez la propriété
Cette propriété spécifie la quantité de données qu’un flux asynchrone tentera de lire à partir de la position actuelle. Les données sont lues en blocs en fonction de la taille de page du système de fichiers. Ainsi, si vous définissez
La lecture de données dans la mémoire tampon de lecture ne change pas la valeur de la propriété
La propriété
Lorsque des données sont lues de façon asynchrone, l’objet FileStream déclenche des événements
Les capacités suivantes sont disponibles, dans différentes combinaisons, selon la valeur du paramètre
Le tableau suivant montre les capacités fournies par chaque constante de la classe FileMode lorsqu’elles sont appliquées sous forme de paramètre
Prise en charge du profil AIR : cette fonctionnalité est prise en charge sur tous les systèmes d’exploitation de bureau, mais ne l’est pas sur tous les périphériques AIR pour TV. Elle n’est en outre pas prise en charge sur les périphériques mobiles. Vous pouvez tester la prise en charge lors de l’exécution à l’aide de la propriété
Sur les distributions Linux modernes, l’objet StorageVolumeInfo distribue uniquement les événements
Sur les distributions Linux modernes, l’objet StorageVolumeInfo distribue uniquement les événements
Sur les distributions Linux modernes, l’objet StorageVolumeInfo distribue uniquement les événements
Sur les distributions Linux modernes, cette méthode renvoie les objets correspondant aux périphériques physiques et aux lecteurs réseau montés à des emplacements spécifiques.
La classe File possède un certain nombre de propriétés et de méthodes qui lui permettent d’obtenir des informations sur le système de fichiers et d’exécuter des opérations, par exemple la copie de fichiers et de répertoires.
Vous pouvez utiliser des objets File avec la classe FileStream pour lire et écrire des fichiers.
La classe File étend la classe FileReference. La classe FileReference, disponible dans Flash® Player et dans Adobe® AIR®, représente un pointeur vers un fichier, mais la classe File ajoute des propriétés et des méthodes qui ne sont pas exposées dans Flash Player (dans un fichier SWF s’exécutant dans un navigateur) pour des raisons de sécurité.
La classe File contient des propriétés statiques qui vous permettent de référencer les emplacements de répertoire les plus fréquemment utilisés. Voici quelques unes de ces propriétés statiques :
Ces propriétés ont des valeurs différentes selon le système d’exploitation. Par exemple, les chemins natifs vers le répertoire Bureau de l’utilisateur sont différents sous Mac OS, Linux et Windows. Néanmoins, la propriété
Si vous utilisez un chemin natif littéral lors du référencement d’un fichier, il ne fonctionnera que sur une seule plateforme. Par exemple, l’objet File suivant ne fonctionnerait que sous Windows :
Le répertoire de stockage de l’application est particulièrement utile. Il fournit un répertoire de stockage spécifique à l’application pour l’application AIR. Il est défini par la propriété
N’ajoutez ni ne supprimez aucun contenu du répertoire de l’application (dans lequel est installée l’application AIR). Vous risquez en effet de rendre l’application AIR inutilisable et d’invalider la signature de l’application. Par défaut, AIR ne permet pas d’écrire dans le répertoire de l’application ; en effet, tous les comptes utilisateur ne sont pas habilités à écrire dans ce répertoire sur tous les systèmes d’exploitation. Utilisez le répertoire de stockage de l’application pour écrire des fichiers internes. Utilisez le répertoire documents pour écrire des fichiers que l’utilisateur pourra utiliser hors de l’application, notamment des images éditées ou des fichiers texte.
Si vous spécifiez une URL, vous pouvez utiliser l’un des modèles d’URL suivants :
Les modèles d’URL
Si vous spécifiez un chemin natif, sous Windows vous pouvez utiliser la barre oblique inversée ou la barre oblique comme séparateur de chemin dans cet argument ; sous Mac OS et Linux, utilisez la barre oblique. Voici quelques valeurs valides pour le paramètre
Toutefois, pour les deux exemples, il est préférable de transmettre l’argument no
Si vous transmettez un argument
Bien que vous puissiez transmettre un argument
Vous pouvez alors utiliser la méthode
Important : si vous transmettez une chaîne URL dans le paramètre
La boîte de dialogue de sélection d’un répertoire n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété
Remarque :
Lorsque l’utilisateur sélectionne plusieurs fichiers, l’événement
La boîte de dialogue Ouvrir n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété
Remarque : il est impossible de définir le titre de la boîte de dialogue du fichier sur les périphériques Android. Le paramètre
Lorsque l’utilisateur sélectionne le fichier, l’événement
La boîte de dialogue Ouvrir n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété
Remarque : il est impossible de définir le titre de la boîte de dialogue du fichier sur les périphériques Android. Le paramètre
Lorsque l’utilisateur sélectionne le fichier, l’événement
La boîte de dialogue Enregistrer le fichier n’est pas toujours affichée devant les fenêtres appartenant à une autre fenêtre (fenêtres dont la propriété
Remarque : il est impossible de définir le titre de la boîte de dialogue du fichier sur les périphériques Android. Le paramètre
Si l’objet File représente un fichier ou un répertoire existant, sa mise en forme canonique ajuste le chemin de sorte qu’il corresponde à la casse du nom réel du fichier ou du répertoire. Si l’objet File est un lien symbolique, sa mise en forme canonique ajuste le chemin de sorte qu’il corresponde au fichier ou au répertoire vers lequel pointe le lien, que ce fichier ou ce répertoire existe ou non. Sur les systèmes de fichiers sensibles à la casse (tels que Linux), lorsque plusieurs noms de fichier ne diffèrent que par la casse, la méthode
De plus, la mise en forme canonique convertit les noms de fichier courts en noms de fichier longs sous Windows.
Remarque : cette méthode ne copie pas le fichier lui-même. Elle effectue simplement une copie de l’occurrence de l’objet File
Lorsque l’opération est terminée, un événement
Cette méthode permet d’identifier un nouveau répertoire unique sans avoir à demander au système de vérifier qu’il est nouveau et unique.
Vous pouvez supprimer le répertoire temporaire avant de fermer l’application, puisqu’il n’est pas supprimé automatiquement sur certains périphériques.
Cette méthode permet d’identifier un nouveau fichier unique sans avoir à demander au système de vérifier que le fichier est nouveau et unique.
Vous pouvez supprimer le fichier temporaire avant de fermer l’application puisqu’il n’est pas supprimé automatiquement.
Le chemin relatif est la liste des composants qui peuvent être ajoutés (résolus par) à cette référence pour localiser la seconde référence (paramètre). Le chemin relatif est renvoyé avec le caractère de séparation « / ».
Les chemins relatifs peuvent éventuellement contenir des références « .. », mais de tels chemins ne traversent pas les limites de volumes visibles.
Sous Windows, par exemple, il s’agit de la liste des volumes tels que les lecteurs C: et D:. Les lecteurs vides, tels que des lecteurs CD ou DVD, dans lesquels aucun disque n’était inséré ne sont pas inclus dans ce tableau. Sous Mac et Linux, cette méthode renvoie le répertoire racine unique de la machine (le répertoire « / »).
Sur les systèmes de fichiers pour lesquels la racine n’est plus lisible, notamment le système de fichiers d’Android, les propriétés de l’objet File renvoyé ne reflètent pas toujours la valeur true. Par exemple, sur Android, la propriété
Pour renommer un fichier, définissez le paramètre
Le processus de déplacement crée tous les répertoires parent requis (si possible).
Remarque : sur les systèmes d’exploitation qui ne prennent pas en charge le concept d’un dossier de corbeille récupérable, ces fichiers sont immédiatement supprimés.
Remarque : sur les systèmes d’exploitation qui ne prennent pas en charge le concept d’un dossier de corbeille récupérable, ces fichiers sont immédiatement supprimés.
Pour renommer un fichier, définissez le paramètre
Le processus de déplacement crée tous les répertoires parent requis (si possible).
AIR vous empêche d’utiliser la méthode File.openWithDefaultApplication() pour ouvrir certains fichiers. Sous Windows, AIR vous empêche d’ouvrir les fichiers d’un certain type (fichiers avec des extensions spécifiques, répertoriées ci-dessous). Sous Mac OS et Linux, AIR vous empêche d’ouvrir les fichiers qui s’ouvrent dans des applications spécifiques, indiquées ci-dessous. Toute tentative d’ouvrir l’un de ces fichiers à l’aide de la méthode
Vous ne pouvez pas ouvrir les documents à partir du répertoire de l’application.
Les tableaux ci-dessous répertorient les extensions de fichier qui ne sont pas autorisées sous Windows, ainsi que les applications non autorisées sous Mac OS et Linux :
Vous pouvez utiliser un chemin relatif ou absolu comme paramètre
Si vous spécifiez un chemin relatif, le paramètre
Si vous spécifiez une référence de fichier absolu, la méthode renvoie l’objet File pointant vers ce chemin. La référence de fichier absolu doit utiliser une syntaxe de chemin native valide pour le système d’exploitation de l’utilisateur (par exemple
Tous les chemins résultants sont normalisés comme suit :
Veillez à toujours utiliser la barre oblique (
Sous Linux, les noms de fichier et les noms de répertoire sont sensibles à la casse.
La propriété
Remarque : vous ne pouvez pas écrire dans des fichiers ou des répertoires dont le chemin utilise le modèle d’URL
La propriété
Sur Android, la propriété
Chaque application AIR possède un répertoire de stockage permanent et unique créé lors du premier accès à
Lors de la désinstallation d’une application AIR, le programme de désinstallation peut supprimer le répertoire de stockage de l’application et ses fichiers ou les conserver, selon la plate-forme.
La propriété
La propriété
La propriété
Si un système d’exploitation ne prend pas en charge un répertoire du bureau, un répertoire du système de fichiers est utilisé à la place.
Les périphériques AIR pour TV n’ont aucun concept d’un répertoire du bureau de l’utilisateur. Par conséquent, la propriété
Sous Windows, il s’agit du répertoire Mes documents (par exemple C:\Documents and Settings\nomUtilisateur\Mes documents). Sous Mac OS, l’emplacement par défaut est le suivant : /Utilisateurs/nomUtilisateur/Documents. Sous Linux, l’emplacement par défaut est le suivant : /home/nomUtilisateur/Documents (système anglais) et la propriété tient compte du paramètre
La propriété
Si un système d’exploitation ne prend pas en charge un répertoire de documents, un répertoire du système de fichiers est utilisé à la place.
Les périphériques AIR pour TV n’ont aucun concept d’un répertoire de documents de l’utilisateur. Par conséquent, la propriété
Cette propriété est utile uniquement sur les systèmes d’exploitation dans lesquels les fichiers peuvent être marqués comme téléchargés :
Sur les systèmes qui ne marquent pas les fichiers comme téléchargés, tels que Linux, cette propriété n’est pas utile (et est définie sur
La valeur est
La valeur est
Les liens symboliques permettent à un fichier de pointer vers un autre fichier ou un répertoire du disque. Bien que similaires, les liens symboliques ne correspondent pas aux alias de Mac OS ni aux raccourcis de Windows. Un alias ou un raccourci est toujours signalé sous forme de fichier (plutôt que sous forme de répertoire) et la lecture ou l’écriture dans un alias ou un raccourci n’affecte jamais le fichier ou le répertoire original cible. En revanche, un lien symbolique se comporte généralement comme le fichier ou le répertoire vers lequel il pointe. Il peut être signalé comme un fichier ou un répertoire, et la lecture ou l’écriture dans un lien symbolique affecte le fichier ou le répertoire vers lequel il pointe, pas le lien symbolique lui-même. Notez toutefois que la suppression d’un lien symbolique supprime le lien mais pas la cible du lien.
Mac® OS®, Linux et Windows® Vista® prennent en charge les liens symboliques. De plus, sous Windows, la propriété
Sous Mac OS et Linux, il s’agit du caractère de changement de ligne (code hexadécimal 0x0A). Sous Windows, il s’agit du caractère de retour chariot (code hexadécimal 0x0D) suivi du caractère de changement de ligne (code hexadécimal 0x0A).
Avant d’écrire du code en vue de définir la propriété
Vous pouvez utiliser la méthode
Certaines API de Flex, telles que la propriété
Si le fichier ou le répertoire n’existe pas, la propriété
Cette propriété est identique à la valeur renvoyée par
Sous Mac OS et Linux, il s’agit de la barre oblique (/). Sous Windows, il s’agit du caractère barre oblique inversée (\).
Remarque : lorsque vous utilisez le caractère barre oblique inversée dans une chaîne littérale, pensez à taper le caractère à deux reprises (comme dans
Si l’objet File fait référence à un répertoire,
En général, l’espace disponible pour un répertoire ou un fichier correspond à l’espace disponible sur le volume contenant le répertoire ou le fichier. Toutefois, l’espace disponible peut tenir compte de quotas et de limites par répertoire.
L’ajout d’un fichier ou d’un répertoire dans un volume nécessite généralement plus d’espace que la taille réelle du fichier ou du contenu du répertoire. Par exemple, le système d’exploitation peut requérir davantage d’espace pour stocker les informations d’index. De même, les secteurs du disque requis peuvent utiliser un espace supplémentaire. Enfin, l’espace disponible change de façon dynamique. Vous ne pouvez donc pas envisager d’affecter tout l’espace signalé au stockage des fichiers.
Les valeurs possibles comprennent
Vous pouvez utiliser cette valeur lorsque vous utilisez les méthodes
S’il s’agit d’une référence à un chemin dans le répertoire de stockage de l’application, le modèle d’URL est
Vous pouvez utiliser des caractères d’espace vide (au lieu de
Sous Windows, il s’agit du parent du répertoire Mes documents (par exemple C:\Documents and Settings\nomUtilisateur). Sous Mac OS, il s’agit de /Utilisateurs/nomUtilisateur. Sous Linux, il s’agit de /home/nomUtilisateur.
La propriété
Si un système d’exploitation ne prend pas en charge un répertoire de l’utilisateur, un répertoire du système de fichiers est utilisé à la place.
Sur les périphériques AIR pour TV, la propriété
Le tableau suivant répertorie les valeurs de la propriété
1 Linux ne possède pas de concept de volume partagé.
2 Sous Windows, un lecteur de carte vide est répertorié en tant que périphérique non amovible. Sous Mac OS et Linux, les lecteurs de carte vides ne sont pas répertoriés en tant que volumes de stockage.
Remarque : vous pouvez déterminer la quantité d’espace disponible sur un volume en appelant la propriété