Paqueteflash.utils
Interfazpublic interface IDataInput
ImplementadoresByteArray, Socket, URLStream

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

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:

Ver los ejemplos

Véase también

Interfaz IDataOutput
endian
Clase Socket
Clase URLStream
Clase ByteArray
Clase EOFError


Propiedades públicas
 PropiedadDefinido por
  bytesAvailable : uint
[read-only] 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 "bigEndian" o "littleEndian" de la clase Endian.
IDataInput
  objectEncoding : uint
Se utiliza para determinar si se debe emplear el formato ActionScript 3.0, ActionScript 2.0 o ActionScript 1.0 al escribir o leer datos binarios.
IDataInput
Métodos públicos
 MétodoDefinido por
  
Lee un valor booleano desde el flujo o la matriz de bytes.
IDataInput
  
Lee un byte con signo desde el flujo o la matriz 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 o la matriz de bytes.
IDataInput
  
Lee un número de coma flotante con precisión doble IEEE 754 desde el flujo de bytes o la matriz de bytes.
IDataInput
  
Lee un número de coma flotante con precisión simple IEEE 754 desde el flujo de bytes o la matriz de bytes.
IDataInput
  
Lee un entero de 32 bits con signo desde el flujo de bytes o la matriz de bytes.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
Lee una cadena multibyte de longitud especificada desde el flujo de bytes mediante el juego de caracteres especificado.
IDataInput
  
Lee un objeto desde el flujo de bytes o la matriz de bytes, codificado en formato serializado AMF.
IDataInput
  
Lee un entero de 16 bits con signo desde el flujo de bytes o la matriz de bytes.
IDataInput
  
Lee un byte sin signo desde el flujo de bytes o la matriz de bytes.
IDataInput
  
Lee un entero de 32 bits sin signo desde el flujo de bytes o la matriz de bytes.
IDataInput
  
Lee un entero de 16 bits sin signo desde el flujo de bytes o la matriz de bytes.
IDataInput
  
Lee una cadena UTF-8 desde el flujo de bytes o la matriz de bytes.
IDataInput
  
Lee una secuencia de bytes UTF-8 length desde el flujo de bytes o la matriz de bytes y devuelve una cadena.
IDataInput
Información sobre propiedades
bytesAvailablepropiedad
bytesAvailable:uint  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

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
endianpropiedad 
endian:String  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

El orden de bytes de los datos; la constante "bigEndian" o "littleEndian" de la clase Endian.


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

Véase también

objectEncodingpropiedad 
objectEncoding:uint  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Se utiliza para determinar si se debe emplear el formato ActionScript 3.0, ActionScript 2.0 o ActionScript 1.0 al escribir o leer datos binarios. El valor es una constante de la clase ObjectEncoding.


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

Véase también

Información sobre métodos
readBoolean()método
public function readBoolean():Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Lee un valor booleano desde el flujo o la matriz 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
Versión del reproductor: Flash Player 9

Lee un byte con signo desde el flujo o la matriz 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
Versión del reproductor: Flash Player 9

Lee el número de bytes de datos, especificado por el parámetro length, desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee un número de coma flotante con precisión doble IEEE 754 desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee un número de coma flotante con precisión simple IEEE 754 desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee un entero de 32 bits con signo desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee una cadena multibyte de longitud especificada desde el flujo de bytes mediante el juego 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 pueden 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 parámetro charSet, Flash Player 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 equipo de desarrollo, pero no en otro. En el otro equipo, Flash Player 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
Versión del reproductor: Flash Player 9

Lee un objeto desde el flujo de bytes o la matriz de bytes, codificado en formato serializado AMF.

Valor devuelto
* — El objeto deserializado.

Emite
EOFError — No hay datos suficientes disponibles para leer.

Véase también

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

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Lee un entero de 16 bits con signo desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee un byte sin signo desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee un entero de 32 bits sin signo desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee un entero de 16 bits sin signo desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

Lee una cadena UTF-8 desde el flujo de bytes o la matriz 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
Versión del reproductor: Flash Player 9

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

Parámetros

length:uint

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.
Ejemplos Cómo utilizar los ejemplos
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 una matriz 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.
            }
        }
    }
}




 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/utils/IDataInput.html