| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
L'interface IDataInput propose plusieurs méthodes de lecture des données binaires. Elle est l'équivalent en E/S de l'interface IDataOutput, qui écrit des données binaires.
Toutes les opérations IDataInput et IDataOutput utilisent l'ordre d'octet « bigEndian » par défaut (où l'octet le plus significatif de la séquence est mémorisé dans l'adresse de stockage de plus bas niveau ou dans la première adresse de stockage) et ne sont pas bloquantes. Si les données disponibles sont insuffisantes, une exception EOFError est renvoyée. Utilisez la propriété IDataInput.bytesAvailable pour déterminer le volume de données disponible pour la lecture.
L'extension de signe ne joue un rôle que lors de la lecture des données et non lors de leur écriture. Il est donc inutile d'utiliser des méthodes d'écriture distinctes pour faire appel à IDataInput.readUnsignedByte() et IDataInput.readUnsignedShort(). En d'autres termes :
-
Utilisez
IDataOutput.writeByte() avec IDataInput.readUnsignedByte() et IDataInput.readByte().
-
Utilisez
IDataOutput.writeShort() avec IDataInput.readUnsignedShort() et IDataInput.readShort().
Consulter les exemples
bytesAvailable:uint [lecture seule]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Renvoie le nombre d'octets de données disponibles pour la lecture dans le tampon de saisie. Le code utilisateur doit appeler bytesAvailable pour garantir que les données disponibles sont suffisantes avant leur lecture à l’aide de l’une des méthodes read.
Implémentation public function get bytesAvailable():uintendian:String [lecture-écriture]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Ordre d'octet des données, à savoir la constante BIG_ENDIAN ou LITTLE_ENDIAN de la classe Endian.
Implémentation public function get endian():String public function set endian(value:String):voidVoir aussi
objectEncoding:uint [lecture-écriture]
| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Permet de déterminer si le format AMF3 ou AMF0 est utilisé lors de l'écriture ou la lecture des données binaires à l'aide de la méthode readObject(). La valeur est une constante extraite de la classe ObjectEncoding.
Implémentation public function get objectEncoding():uint public function set objectEncoding(value:uint):voidVoir aussi
public function readBoolean():Boolean| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit une valeur booléenne dans le flux de fichiers, le flux d'octets ou le tableau d’octets. Un seul octet est lu, et la valeur true est renvoyée s'il n'est pas nul, false dans le cas contraire.
Valeur renvoyée | Boolean —
Valeur booléenne, true si l'octet correspond à une valeur non nulle, false dans le cas contraire.
|
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readByte():int| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un octet signé dans le flux de fichiers, le flux d'octets ou le tableau d’octets.
Valeur renvoyée | int — La valeur renvoyée est comprise entre -128 et 127. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit le nombre d’octets de données spécifié par le paramètre length dans le flux de fichiers, le flux d'octets ou le tableau d’octets. Les octets sont lus dans l'objet ByteArray spécifié par le paramètre bytes, à partir de la position indiquée par offset.
Paramètres
| bytes:ByteArray —
Objet ByteArray contenant les données à lire.
|
| |
| offset:uint (default = 0) —
Décalage dans le paramètre bytes où la lecture des données doit commencer.
|
| |
| length:uint (default = 0) — Nombre d'octets à lire. La valeur 0 (par défaut) provoque la lecture de toutes les données disponibles. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readDouble():Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un nombre à virgule flottante à deux décimales, conforme à IEEE 754, extrait du flux de fichiers, du flux d'octets ou du tableau d’octets.
Valeur renvoyée | Number — Nombre à virgule flottante à deux décimales et conforme à IEEE 754. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readFloat():Number| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un nombre à virgule flottante à une décimale, conforme à IEEE 754, extrait du flux de fichiers, du flux d'octets ou du tableau d’octets.
Valeur renvoyée | Number — Nombre à virgule flottante à une décimale et conforme à IEEE 754. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readInt():int| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier signé de 32 bits extrait du flux de fichiers, du flux d'octets ou du tableau d’octets.
Valeur renvoyée | int — La valeur renvoyée est comprise entre -2147483648 et 2147483647. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readMultiByte(length:uint, charSet:String):String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit une chaîne multi-octets de longueur spécifiée dans le flux de fichiers, le flux d'octets ou le tableau d'octets en utilisant le jeu de caractères spécifié.
Paramètres
| length:uint — Nombre d'octets à lire dans le flux d'octets. |
| |
| charSet:String —
Chaîne désignant le jeu de caractères à utiliser pour interpréter les octets. Parmi les chaînes de jeu de caractères possibles figurent "shift-jis", "cn-gb", "iso-8859-1", etc. Pour obtenir la liste complète, consultez la section Jeux de caractères pris en charge.
Remarque : si la valeur du paramètre charSet n'est pas reconnue par le système actuel, Adobe® Flash® Player ou Adobe® AIR™ utilise la page de code par défaut du système comme jeu de caractères. Par exemple, une valeur pour le paramètre charSet, comme dans myTest.readMultiByte(22, "iso-8859-01") qui utilise 01 au lieu de 1 pourra éventuellement fonctionner sur votre machine de développement, mais pas sur un autre ordinateur. Sur l'autre ordinateur, Flash Player ou le moteur d'exécution AIR utilise la page de code par défaut du système.
|
Valeur renvoyée | String — Chaîne au format UTF-8. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readObject():*| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un objet codé au format AMF sérialisé dans le flux de fichiers, le flux d'octets ou le tableau d’octets.
Valeur renvoyéeValeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
Voir aussi
public function readShort():int| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier signé de 16 bits extrait du flux de fichiers, du flux d'octets ou du tableau d’octets.
Valeur renvoyée | int — La valeur renvoyée est comprise entre -32768 et 32767. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readUnsignedByte():uint| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un octet non signé dans le flux de fichiers, le flux d'octets ou le tableau d’octets.
Valeur renvoyée | uint — La valeur renvoyée est comprise entre 0 et 255. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readUnsignedInt():uint| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier non signé de 32 bits extrait du flux de fichiers, du flux d'octets ou du tableau d’octets.
Valeur renvoyée | uint — La valeur renvoyée est comprise entre 0 et 4294967295. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readUnsignedShort():uint| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit un entier non signé de 16 bits extrait du flux de fichiers, du flux d'octets ou du tableau d’octets.
Valeur renvoyée | uint — La valeur renvoyée est comprise entre 0 et 65535. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readUTF():String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit une chaîne UTF-8 dans le flux de fichiers, le flux d'octets ou le tableau d'octets. La chaîne doit être précédée d'un caractère non signé indiquant la longueur en octets.
Cette méthode est similaire à la méthode readUTF() de l'interface IDataInput Java.
Valeur renvoyée | String — Chaîne UTF-8 générée par la représentation des caractères sous forme d’octets. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
public function readUTFBytes(length:uint):String| Version du langage: | ActionScript 3.0 |
| Versions du moteur d'exécution: | AIR 1.0 Flash Player 9 |
Lit une séquence d'octets UTF-8 dans le flux ou le tableau d'octets et renvoie une chaîne.
Paramètres
| length:uint — Nombre d'octets à lire. |
Valeur renvoyée | String — Chaîne UTF-8 de longueur spécifiée, générée par la représentation des caractères sous forme d'octets. |
Valeur émise | EOFError — Les données à lire ne sont pas suffisantes. |
L'exemple suivant utilise la classe
DataInputExample pour écrire une valeur booléenne et la représentation à virgule flottante à deux décimales de pi dans un tableau d'octets. Cette opération se déroule selon la procédure suivante :
-
Déclarez une nouvelle occurrence de l'objet
byteArr.
-
Ecrivez l'équivalant en octets de la valeur booléenne
false et l'équivalent de la valeur mathématique de pi avec deux décimales.
- Relisez la valeur booléenne et le nombre à virgule flottante à deux décimales.
Vous remarquerez qu'un segment de code est ajouté à la fin pour vérifier les erreurs de fin de fichier et s'assurer que la lecture du flux d'octets ne dépasse pas la fin.
package {
import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.errors.EOFError;
public class DataInputExample extends Sprite {
public function DataInputExample() {
var byteArr:ByteArray = new ByteArray();
byteArr.writeBoolean(false);
byteArr.writeDouble(Math.PI);
byteArr.position = 0;
try {
trace(byteArr.readBoolean()); // false
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
try {
trace(byteArr.readDouble()); // 3.141592653589793
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
try {
trace(byteArr.readDouble());
}
catch(e:EOFError) {
trace(e); // EOFError: Error #2030: End of file was encountered.
}
}
}
}
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 03:00 AM -08:00