Referencia de ActionScript® 3.0 para la plataforma de Adobe® Flash®
Inicio  |  Ocultar lista de paquetes y clases |  Paquetes  |  Clases  |  Novedades  |  Índice  |  Apéndices  |  ¿Por qué hay texto en inglés?
Filtros: Recuperando datos del servidor...
Recuperando datos del servidor...
flash.utils 

IDataInput  - AS3

Paqueteflash.utils
Interfazpublic interface IDataInput
Implementadores ByteArray, FileStream, Socket, URLStream

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

La interfaz IDataInput proporciona un conjunto de métodos para la lectura de datos binarios. Esta interfaz es la contrapartida E/S de la interfaz IDataOutput, que escribe datos binarios.

Todas las operaciones de IDataInput y IDataOutput son, de forma predeterminada, "bigEndian" (el byte más significativo de la secuencia se almacena en la primera dirección de almacenamiento o en la inferior) y no producen bloqueo. Si no hay suficientes datos disponibles, se emite una excepción EOFError. Utilice la propiedad IDataInput.bytesAvailable para determinar la cantidad de datos que se puede leer.

El signo de la extensión es relevante sólo al leer datos, no al escribirlos. Por tanto, no es necesario disponer de métodos de escritura independientes para poder trabajar con IDataInput.readUnsignedByte() y IDataInput.readUnsignedShort(). En otras palabras:

  • Utilice IDataOutput.writeByte() con IDataInput.readUnsignedByte() y IDataInput.readByte().
  • Utilice IDataOutput.writeShort() con IDataInput.readUnsignedShort() y IDataInput.readShort().

Ver los ejemplos

Elementos de API relacionados



Propiedades públicas
 PropiedadDefinido por
  bytesAvailable : uint
[solo lectura] Devuelve el número de bytes de datos disponibles para su lectura en el búfer de entrada.
IDataInput
  endian : String
El orden de bytes de los datos; la constante BIG_ENDIAN o LITTLE_ENDIAN de la clase Endian.
IDataInput
  objectEncoding : uint
Se usa para determinar si al escribir o leer datos binarios con el método readObject() se utiliza el formato AMF3 o AMF0.
IDataInput
Métodos públicos
 MétodoDefinido por
  
Lee un valor booleano desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee un byte con signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Lee el número de bytes de datos, especificado por el parámetro length, desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee un número de coma flotante con doble precisión IEEE 754 desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee un número de coma flotante con precisión simple IEEE 754 desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee un entero de 32 bits con signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
Lee una cadena multi-byte de la longitud especificada en el flujo del archivo, de bytes o en el conjunto de bytes, utilizando el conjunto de caracteres especificado.
IDataInput
  
Lee un objeto desde el flujo del archivo, de bytes o desde el conjunto de bytes, codificado en formato serializado AMF.
IDataInput
  
Lee un entero de 16 bits con signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee un byte sin signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee un entero de 32 bits sin signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee un entero de 16 bits sin signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee una cadena UTF-8 desde el flujo del archivo, de bytes o desde el conjunto de bytes.
IDataInput
  
Lee una secuencia de bytes UTF-8 desde el flujo de bytes o el conjunto de bytes y devuelve una cadena.
IDataInput
Información sobre propiedades

bytesAvailable

propiedad
bytesAvailable:uint  [solo lectura]

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Devuelve el número de bytes de datos disponibles para su lectura en el búfer de entrada. El código de usuario debe llamar a bytesAvailable para garantizar que hay datos suficientes disponibles antes de intentar leerlos con uno de los métodos read.



Implementación
    public function get bytesAvailable():uint

endian

propiedad 
endian:String

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

El orden de bytes de los datos, la constante BIG_ENDIAN o LITTLE_ENDIAN de la clase Endian.



Implementación
    public function get endian():String
    public function set endian(value:String):void

Elementos de API relacionados

objectEncoding

propiedad 
objectEncoding:uint

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Se usa para determinar si al escribir o leer datos binarios con el método readObject() se utiliza el formato AMF3 o AMF0. El valor es una constante de la clase ObjectEncoding.



Implementación
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Elementos de API relacionados

Información sobre métodos

readBoolean

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un valor booleano desde el flujo del archivo, de bytes o desde el conjunto de bytes. Se lee un solo byte y devuelve true si el byte es distinto de cero; en caso contrario, devuelve false.

Valor devuelto
Boolean — Un valor booleano, true si el byte es distinto de cero; en caso contrario, false.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readByte

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un byte con signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
int — El valor devuelto se encuentra entre -128 y 127.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readBytes

()método 
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee el número de bytes de datos, especificado por el parámetro length, desde el flujo del archivo, de bytes o desde el conjunto de bytes. Los bytes se leen en el objeto ByteArray especificado por el parámetro bytes, comenzando desde la posición especificada por offset.

Parámetros

bytes:ByteArray — Objeto ByteArray en el que se leerán los datos.
 
offset:uint (default = 0) — El desplazamiento en el parámetro bytes en el que debe comenzar la lectura de datos.
 
length:uint (default = 0) — El número de bytes que se van a leer. El valor predeterminado 0 hace que se lean todos los datos disponibles.


Emite
EOFError — No hay datos suficientes disponibles para leer.

readDouble

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un número de coma flotante con doble precisión IEEE 754 desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
Number — Un número de coma flotante con precisión doble IEEE 754.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readFloat

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un número de coma flotante con precisión simple IEEE 754 desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
Number — Un número de coma flotante con precisión simple IEEE 754.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readInt

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un entero de 32 bits con signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
int — El valor devuelto se encuentra entre -2147483648 y 2147483647.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readMultiByte

()método 
public function readMultiByte(length:uint, charSet:String):String

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee una cadena multi-byte de la longitud especificada en el flujo del archivo, de bytes o en el conjunto de bytes, utilizando el conjunto de caracteres especificado.

Parámetros

length:uint — El número de bytes del flujo de bytes que se va a leer.
 
charSet:String — La cadena que denota el juego de caracteres que se utilizará para interpretar los bytes. Las posibles cadenas del conjunto de caracteres puden ser "shift-jis", "cn-gb", "iso-8859-1" y otras. Para obtener una lista completa, consulte los juegos de caracteres admitidos.

Nota: si el sistema actual no reconoce el valor del parámetro charSet, Adobe® Flash® Player or Adobe® AIR® utiliza la página de códigos predeterminada del sistema como conjunto de caracteres. Por ejemplo, un valor para el parámetro charSet, como en myTest.readMultiByte(22, "iso-8859-01") que utiliza 01 en lugar de 1 podría funcionar en su sistema de desarrollo, pero no en otro sistema. En el otro sistema, Flash Player o el motor de ejecución de AIR utilizará la página de códigos predeterminada del sistema.

Valor devuelto
String — Cadena con codificación UTF-8.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readObject

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un objeto desde el flujo del archivo, de bytes o desde el conjunto de bytes, codificado en formato serializado AMF.

Valor devuelto
* — El objeto deserializado.

Emite
EOFError — No hay datos suficientes disponibles para leer.

Elementos de API relacionados

readShort

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un entero de 16 bits con signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
int — El valor devuelto se encuentra entre -32768 y 32767.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readUnsignedByte

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un byte sin signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
uint — El valor devuelto se encuentra entre 0 y 255.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readUnsignedInt

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un entero de 32 bits sin signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
uint — El valor devuelto se encuentra entre 0 y 4294967295.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readUnsignedShort

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee un entero de 16 bits sin signo desde el flujo del archivo, de bytes o desde el conjunto de bytes.

Valor devuelto
uint — El valor devuelto se encuentra entre 0 y 65535.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readUTF

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee una cadena UTF-8 desde el flujo del archivo, de bytes o desde el conjunto de bytes. Se da por hecho que la cadena tiene un prefijo de declaración unsigned short que indica la longitud en bytes.

Este método es similar al método readUTF() de la interfaz IDataInput de Java®.

Valor devuelto
String — Cadena UTF-8 generada por la representación de caracteres en bytes.

Emite
EOFError — No hay datos suficientes disponibles para leer.

readUTFBytes

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

Versión del lenguaje: ActionScript 3.0
Versiones de motor de ejecución: AIR 1.0, Flash Player 9, Flash Lite 4

Lee una secuencia de bytes UTF-8 desde el flujo de bytes o el conjunto de bytes y devuelve una cadena.

Parámetros

length:uint — El número de bytes que se van a leer.

Valor devuelto
String — Cadena UTF-8 generada por la representación de caracteres en bytes con la longitud especificada.

Emite
EOFError — No hay datos suficientes disponibles para leer.
DataInputExample.as

En el ejemplo siguiente, se utiliza la clase DataInputExample para escribir un valor booleano y la representación de coma flotante con precisión doble de pi en un conjunto de bytes. Esto se consigue con los pasos siguientes:
  1. Declare una nueva instancia del objeto ByteArray byteArr.
  2. Escriba el valor equivalente a bytes del valor booleano false y el equivalente de coma flotante con precisión doble del valor matemático de pi.
  3. Vuelva a leer el valor booleano y el número de coma flotante con precisión doble.

Observe que se añade un segmento de código al final para comprobar errores al final del archivo para garantizar que el flujo de bytes no se lea más allá de su final.

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 ]¿Por qué hay texto en inglés?
Cierto contenido de la Referencia de ActionScript 3.0 se muestra en inglés

No todo el contenido de la Referencia de ActionScript 3.0 se traduce a todos los idiomas. Si un elemento del lenguaje no se traduce, aparecerá en inglés. Por ejemplo, la clase ga.controls.HelpBox no está traducida en ningún idioma. Por lo tanto, en la versión en español de la referencia, la clase ga.controls.HelpBox aparecerá en inglés.