Guide de référence ActionScript® 3.0 pour la plate-forme Adobe® Flash®
Accueil  |  Masquer la liste des packages et des classes |  Packages  |  Classes  |  Nouveautés  |  Index  |  Annexes  |  Pourquoi existe-t-il du contenu en anglais ?
Filtres : Récupération des données du serveur...
Récupération des données du serveur...
flash.utils 

IDataInput  - AS3

Packageflash.utils
Interfacepublic interface IDataInput
Implémenteurs ByteArray, FileStream, Socket, URLStream

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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

Eléments de l’API associés



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 des données, à savoir la constante BIG_ENDIAN ou LITTLE_ENDIAN de la classe Endian.
IDataInput
  objectEncoding : uint
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().
IDataInput
Méthodes publiques
 MéthodeDéfini par
  
Lit une valeur booléenne dans le flux de fichiers, le flux d’octets ou le tableau d’octets.
IDataInput
  
Lit un octet signé dans le flux de fichiers, le flux d’octets ou le 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 de fichiers, le flux d’octets ou le tableau d’octets.
IDataInput
  
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.
IDataInput
  
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.
IDataInput
  
Lit un entier signé de 32 bits extrait du flux de fichiers, du flux d’octets ou du tableau d’octets.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
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é.
IDataInput
  
Lit un objet codé au format AMF sérialisé dans le flux de fichiers, le flux d’octets ou le tableau d’octets.
IDataInput
  
Lit un entier signé de 16 bits extrait du flux de fichiers, du flux d’octets ou du tableau d’octets.
IDataInput
  
Lit un octet non signé dans le flux de fichiers, le flux d’octets ou le tableau d’octets.
IDataInput
  
Lit un entier non signé de 32 bits extrait du flux de fichiers, du flux d’octets ou du tableau d’octets.
IDataInput
  
Lit un entier non signé de 16 bits extrait du flux de fichiers, du flux d’octets ou du tableau d’octets.
IDataInput
  
Lit une chaîne UTF-8 dans le flux de fichiers, le flux d’octets ou le tableau d’octets.
IDataInput
  
Lit une séquence d’octets UTF-8 dans le flux ou le tableau d’octets et renvoie une chaîne.
IDataInput
Détails de la propriété

bytesAvailable

propriété
bytesAvailable:uint  [lecture seule]

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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

propriété 
endian:String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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):void

Eléments de l’API associés

objectEncoding

propriété 
objectEncoding:uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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):void

Eléments de l’API associés

Détails de la méthode

readBoolean

()méthode
public function readBoolean():Boolean

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readByte

()méthode 
public function readByte():int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readBytes

()méthode 
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, Flash Lite 4

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.

readDouble

()méthode 
public function readDouble():Number

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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 au standard IEEE 754.

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

readFloat

()méthode 
public function readFloat():Number

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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 au standard IEEE 754.

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

readInt

()méthode 
public function readInt():int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readMultiByte

()méthode 
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, Flash Lite 4

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 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, voir 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 système de développement, mais pas sur un autre système. Sur l’autre système, Flash Player ou le moteur d’exécution d’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.

readObject

()méthode 
public function readObject():*

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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ée
* — Objet désérialisé

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

Eléments de l’API associés

readShort

()méthode 
public function readShort():int

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUnsignedByte

()méthode 
public function readUnsignedByte():uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUnsignedInt

()méthode 
public function readUnsignedInt():uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUnsignedShort

()méthode 
public function readUnsignedShort():uint

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUTF

()méthode 
public function readUTF():String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.

readUTFBytes

()méthode 
public function readUTFBytes(length:uint):String

Version du langage: ActionScript 3.0
Versions du moteur d’exécution: AIR 1.0, Flash Player 9, Flash Lite 4

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.
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. Pour ce faire, exécutez 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.
            }
        }
    }
}




[ X ]Pourquoi existe-t-il du contenu en anglais ?
Certaines parties du Guide de référence ActionScript 3.0 sont en anglais

Tout le contenu du Guide de référence ActionScript 3.0 n’a pas été traduit dans toutes les langues. Si un élément de langage n’est pas traduit, il s’affiche en anglais. Par exemple, la classe ga.controls.HelpBox n’est traduite dans aucune langue. Ainsi, dans la version française du guide de référence, la classe ga.controls.HelpBox apparaît en anglais.