| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | 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 |
| Version du lecteur : | 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():uint
endian:String [lecture-écriture]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Ordre d’octet utilisé pour les données (soit la constante « bigEndian », soit la constante « littleEndian » de la classe Endian).
Implémentation
public function get endian():String
public function set endian(value:String):void
Voir aussi
objectEncoding:uint [lecture-écriture]
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Permet de déterminer le format à utiliser pour l’écriture ou la lecture de données binaires : ActionScript 3.0, ActionScript 2.0 ou ActionScript 1.0. La valeur est une constante extraite de la classe ObjectEncoding.
Implémentation
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Voir aussi
public function readBoolean():Boolean
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit une valeur booléenne dans le flux 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.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readByte():int
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un octet signé extrait du flux ou du tableau d’octets.
Valeur renvoyée
| int — La valeur renvoyée est comprise entre -128 et 127.
|
Lance
| 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 |
| Version du lecteur : | Flash Player 9 |
Lit le nombre d’octets de données spécifié par le paramètre length dans le flux 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.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readDouble():Number
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un nombre à virgule flottante à deux décimales, conforme à IEEE 754 et extrait du flux ou du tableau d’octets.
Valeur renvoyée
| Number — Nombre à virgule flottante à deux décimales et conforme à IEEE 754.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readFloat():Number
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un nombre à virgule flottante à une décimale, conforme à IEEE 754 et extrait du flux ou du tableau d’octets.
Valeur renvoyée
| Number — Nombre à virgule flottante à une décimale et conforme à IEEE 754.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readInt():int
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un entier signé de 32 bits extrait du flux ou du tableau d’octets.
Valeur renvoyée
| int — La valeur renvoyée est comprise entre -2147483648 et 2147483647.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readMultiByte(length:uint, charSet:String):String
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit une chaîne à plusieurs octets de longueur spécifiée à partir du flux d'octets et à l'aide du jeu de caractères désigné.
Paramètres
| length:uint — Nombre d'octets à lire dans le flux d'octets.
|
| |
| charSet:String — Chaîne désignant le 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, Flash Player utilise la page de code par défaut du système comme jeu de caractères. Par exemple, une valeur du paramètre charSet, telle que dans myTest.readMultiByte(22, "iso-8859-01"), qui utilise 01 au lieu de 1 peut fonctionner sur votre poste de développement mais pas sur un autre poste. Sur l'autre poste, Flash Player utilisera la page de code par défaut du système.
|
Valeur renvoyée
| String — Chaîne au format UTF-8.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readObject():*
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un objet dans le flux ou le tableau d’octets, codé au format AMF sérialisé.
Valeur renvoyée
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
Voir aussi
public function readShort():int
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un entier signé de 16 bits extrait du flux ou du tableau d’octets.
Valeur renvoyée
| int — La valeur renvoyée est comprise entre -32768 et 32767.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readUnsignedByte():uint
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un octet non signé extrait du flux ou du tableau d’octets.
Valeur renvoyée
| uint — La valeur renvoyée est comprise entre 0 et 255.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readUnsignedInt():uint
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un entier de 32 bits non signé extrait du flux ou du tableau d’octets.
Valeur renvoyée
| uint — La valeur renvoyée est comprise entre 0 et 4294967295.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readUnsignedShort():uint
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit un entier de 16 bits non signé extrait du flux ou du tableau d’octets.
Valeur renvoyée
| uint — La valeur renvoyée est comprise entre 0 et 65535.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readUTF():String
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit une chaîne UTF-8 dans le flux 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.
|
Lance
| EOFError — Les données à lire ne sont pas suffisantes.
|
public function readUTFBytes(length:uint):String
| Version du langage : | ActionScript 3.0 |
| Version du lecteur : | Flash Player 9 |
Lit une séquence d'octets UTF-8 de length dans le flux ou le tableau d'octets et renvoie une chaîne.
Paramètres
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.
|
Lance
| 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-2007 Adobe Systems Incorporated. Tous droits réservés.
Fri Oct 12 2007, 2:53 AM GMT-07:00
Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/utils/IDataInput.html