Packageflash.utils
Interfacepublic interface IDataInput
ImplémenteursByteArray, Socket, URLStream

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 :

Consulter les exemples

Voir aussi

Interface IDataOutput
endian
Classe Socket
Classe URLStream
Classe ByteArray
Classe EOFError


Propriétés publiques
 PropriétéDéfini par
  bytesAvailable : uint
[lecture-seule] Renvoie le nombre d'octets de données disponibles pour la lecture dans le tampon de saisie.
IDataInput
  endian : String
Ordre d’octet utilisé pour les données (soit la constante « bigEndian », soit la constante « littleEndian » de la classe Endian).
IDataInput
  objectEncoding : uint
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.
IDataInput
Méthodes publiques
 MéthodeDéfini par
  
Lit une valeur booléenne dans le flux ou le tableau d’octets.
IDataInput
  
Lit un octet signé extrait du flux ou du tableau d’octets.
IDataInput
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Lit le nombre d’octets de données spécifié par le paramètre length dans le flux ou le tableau d’octets.
IDataInput
  
Lit un nombre à virgule flottante à deux décimales, conforme à IEEE 754 et extrait du flux ou du tableau d’octets.
IDataInput
  
Lit un nombre à virgule flottante à une décimale, conforme à IEEE 754 et extrait du flux ou du tableau d’octets.
IDataInput
  
Lit un entier signé de 32 bits extrait du flux ou du tableau d’octets.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
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é.
IDataInput
  
Lit un objet dans le flux ou le tableau d’octets, codé au format AMF sérialisé.
IDataInput
  
Lit un entier signé de 16 bits extrait du flux ou du tableau d’octets.
IDataInput
  
Lit un octet non signé extrait du flux ou du tableau d’octets.
IDataInput
  
Lit un entier de 32 bits non signé extrait du flux ou du tableau d’octets.
IDataInput
  
Lit un entier de 16 bits non signé extrait du flux ou du tableau d’octets.
IDataInput
  
Lit une chaîne UTF-8 dans le flux ou le tableau d’octets.
IDataInput
  
Lit une séquence d'octets UTF-8 de length dans le flux ou le tableau d'octets et renvoie une chaîne.
IDataInput
Détails des propriétés
bytesAvailablepropriété
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
endianpropriété 
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

objectEncodingpropriété 
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

Détails des méthodes
readBoolean()méthode
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.
readByte()méthode 
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.
readBytes()méthode 
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.
readDouble()méthode 
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.
readFloat()méthode 
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.
readInt()méthode 
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.
readMultiByte()méthode 
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.
readObject()méthode 
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
* — Objet déserialisé

Lance
EOFError — Les données à lire ne sont pas suffisantes.

Voir aussi

readShort()méthode 
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.
readUnsignedByte()méthode 
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.
readUnsignedInt()méthode 
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.
readUnsignedShort()méthode 
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.
readUTF()méthode 
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.
readUTFBytes()méthode 
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

length:uint

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.
Exemples Utilisation des exemples
DataInputExample.as

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 :
  1. Déclarez une nouvelle occurrence de l'objet byteArr.
  2. 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.
  3. 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.
            }
        }
    }
}




 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/ActionScriptLangRefV3/flash/utils/IDataInput.html