Paquete | flash.utils |
Interfaz | public 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 |
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()
conIDataInput.readUnsignedByte()
yIDataInput.readByte()
. - Utilice
IDataOutput.writeShort()
conIDataInput.readUnsignedShort()
yIDataInput.readShort()
.
Elementos de API relacionados
Propiedad | Definido 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étodo | Definido 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 | ||
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 | ||
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 | ||
readObject():*
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 |
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
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
.
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 devueltoint — 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 devueltoNumber — 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 devueltoNumber — 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 devueltoint — 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 |
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 devueltoint — 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 devueltouint — 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 devueltouint — 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 devueltouint — 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®.
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.
|
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
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:
- Declare una nueva instancia del objeto ByteArray
byteArr
. - 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. - 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. } } } }
Tue Jun 12 2018, 02:12 PM Z