| 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:
- Utilice
IDataOutput.writeByte() con IDataInput.readUnsignedByte() y IDataInput.readByte().
- Utilice
IDataOutput.writeShort() con IDataInput.readUnsignedShort() y IDataInput.readShort().
Ver los ejemplos
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
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
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
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
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.
|
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.
|
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.
|
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.
|
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.
|
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
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.
|
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:
- 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.
}
}
}
}
© 2004-2007 Adobe Systems Incorporated. Todos los derechos reservados.
Fri Oct 12 2007, 2:30 AM GMT-07:00
Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/utils/IDataInput.html