Pacote | flash.utils |
Interface | public interface IDataInput |
Implementadores | ByteArray, FileStream, Socket, URLStream |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Todas as operações IDataInput e IDataOutput são "bigEndian" por padrão (o byte mais significativo na sequência é armazenado no endereço mais baixo ou no primeiro endereço de armazenagem) e não são bloqueadoras. Se houver dados insuficientes disponíveis, é lançada uma exceção EOFError
. Use a propriedade IDataInput.bytesAvailable
para determinar a quantidade de dados disponíveis para a leitura.
Assine as questões de extensão apenas na leitura dos dados e não quando for gravá-los. Assim, você não precisa separar os métodos de gravação para trabalhar com IDataInput.readUnsignedByte()
e IDataInput.readUnsignedShort()
. Em outras palavras:
- Use
IDataOutput.writeByte()
comIDataInput.readUnsignedByte()
eIDataInput.readByte()
. - Use
IDataOutput.writeByte()
comIDataInput.readUnsignedByte()
eIDataInput.readByte()
.
Elementos da API relacionados
endian
Classe FileStream
Classe Socket
Classe URLStream
Classe ByteArray
Classe EOFError
Propriedade | Definido por | ||
---|---|---|---|
bytesAvailable : uint [somente leitura]
Retorna o número de bytes de dados disponíveis para leitura no buffer de entrada. | IDataInput | ||
endian : String
A ordem de bytes para os dados, seja a constante BIG_ENDIAN ou LITTLE_ENDIAN da classe Endian. | IDataInput | ||
objectEncoding : uint
Usado para determinar se o formato AMF3 ou AMF0 é usado durante a gravação ou leitura de dados binários usando o método readObject(). | IDataInput |
Método | Definido por | ||
---|---|---|---|
Lê um valor booliano do fluxo de arquivo, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê um byte com sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê o número de bytes de dados, especificados pelo parâmetro de comprimento, do fluxo de arquivos, do fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê um número de ponto flutuante de precisão dupla IEEE 754 do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê um número de ponto flutuante de precisão única IEEE 754 do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê um inteiro de 32 bits assinado do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê uma string multibyte do comprimento especificado para o fluxo de arquivo, fluxo de byte ou matriz de byte, usando o conjunto de caracteres especificado. | IDataInput | ||
readObject():*
Escreve um objeto no fluxo de arquivo, fluxo de bytes ou matriz de bytes codificado no formato serializado AMF. | IDataInput | ||
Lê um inteiro de 16 bits com sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê um byte sem sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê um inteiro de 32 bits não assinado do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Lê um inteiro de 16 bits sem sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. | IDataInput | ||
Leia uma string UTF-8 a partir do fluxo de arquivos, fluxo de byte ou matriz de byte. | IDataInput | ||
Lê uma string de bytes UTF-8 do fluxo de bytes ou da matriz de bytes e retorna uma string. | IDataInput |
bytesAvailable | propriedade |
bytesAvailable:uint
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Retorna o número de bytes de dados disponíveis para leitura no buffer de entrada. O código do usuário precisa chamar a bytesAvailable
para garantir que há dados suficientes, antes de tentar a leitura com um dos métodos.
Implementação
public function get bytesAvailable():uint
endian | propriedade |
endian:String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
A ordem de bytes para os dados, seja a constante BIG_ENDIAN
ou LITTLE_ENDIAN
da classe Endian.
Implementação
public function get endian():String
public function set endian(value:String):void
Elementos da API relacionados
objectEncoding | propriedade |
objectEncoding:uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Usado para determinar se o formato AMF3 ou AMF0 é usado durante a gravação ou leitura de dados binários usando o método readObject()
. O valor é uma constante da classe ObjectEncoding.
Implementação
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Elementos da API relacionados
readBoolean | () | método |
public function readBoolean():Boolean
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um valor booliano do fluxo de arquivo, fluxo de bytes ou da matriz de bytes. O único byte é lido e é retornado true
se o byte for diferente de zero, false
em caso contrário.
Boolean — O valor booliano, true se o byte for diferente de zero, false em caso contrário.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readByte | () | método |
public function readByte():int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um byte com sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
Retornaint — O valor retornado está na faixa de -128 a 127.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readBytes | () | método |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê o número de bytes de dados especificados pelo parâmetro de lenght
do fluxo de arquivos, fluxo de bytes ou da matriz de bytes. Os bytes são lidos no objeto ByteArray, especificado pelo parâmetro bytes
, com o início na posição especificada pelo deslocamento
.
Parâmetros
bytes:ByteArray — O objeto ByteArray para a leitura de dados.
| |
offset:uint (default = 0 ) — O deslocamento no parâmetro de bytes em que deve começar a leitura dos dados.
| |
length:uint (default = 0 ) — O número de bytes a ser lido. O valor padrão de 0 permite a leitura de todos os dados disponíveis.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readDouble | () | método |
public function readDouble():Number
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um número de ponto flutuante de precisão dupla IEEE 754 do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
RetornaNumber — Um número de ponto flutuante de precisão dupla IEEE 754.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readFloat | () | método |
public function readFloat():Number
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um número de ponto flutuante de precisão única IEEE 754 do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
RetornaNumber — Um número de ponto flutuante de precisão única IEEE 754.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readInt | () | método |
public function readInt():int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 32 bits assinado do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
Retornaint — O valor retornado está na faixa de -2147483648 a 2147483647.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readMultiByte | () | método |
public function readMultiByte(length:uint, charSet:String):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê uma string multibyte do comprimento especificado para o fluxo de arquivo, fluxo de byte ou matriz de byte, usando o conjunto de caracteres especificado.
Parâmetros
length:uint — O número de bytes do fluxo de bytes para leitura.
| |
charSet:String — A string que denota o conjunto de caracteres usados para interpretar os bytes. As strings possíveis de conjunto de caracteres incluem "shift-jis" , "cn-gb" , "iso-8859-1" e outras. Para obter uma lista completa, consulte
Conjuntos de caracteres suportados.
Observação: Caso o valor do parâmetro |
String — String codificada UTF-8
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readObject | () | método |
public function readObject():*
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Escreve um objeto no fluxo de arquivo, fluxo de bytes ou matriz de bytes codificado no formato serializado AMF.
Retorna* — O objeto desserializado
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
Elementos da API relacionados
readShort | () | método |
public function readShort():int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 16 bits com sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
Retornaint — O valor retornado está na faixa de -32768 a 32767.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readUnsignedByte | () | método |
public function readUnsignedByte():uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um byte sem sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
Retornauint — O valor retornado está na faixa de 0 a 255.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readUnsignedInt | () | método |
public function readUnsignedInt():uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 32 bits não assinado do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
Retornauint — O valor retornado está na faixa de 0 a 4294967295.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readUnsignedShort | () | método |
public function readUnsignedShort():uint
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê um inteiro de 16 bits sem sinal do fluxo de arquivos, fluxo de bytes ou da matriz de bytes.
Retornauint — O valor retornado está na faixa de 0 a 65535.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readUTF | () | método |
public function readUTF():String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Leia uma string UTF-8 a partir do fluxo de arquivos, fluxo de byte ou matriz de byte. A string é assumida como prefixada com uma curta não assinada, indicativa do comprimento em bytes.
Este método é semelhante ao método readUTF()
na interface Java IDataInput.
String — A string UTF-8 produzida pela representação em bytes dos caracteres.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
readUTFBytes | () | método |
public function readUTFBytes(length:uint):String
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Lê uma string de bytes UTF-8 do fluxo de bytes ou da matriz de bytes e retorna uma string.
Parâmetros
length:uint — O número de bytes a ser lido.
|
String — Uma string UTF-8 produzida pela representação em bytes do número de caracteres especificado.
|
Lança
EOFError — Não há dados disponíveis suficientes para leitura.
|
DataInputExample
para gravar uma representação de pi booliana e com ponto flutuante de precisão dupla na matriz de bytes. Isso é realizado com as seguintes etapas:
- Explique uma nova ocorrência de objeto
byteArr
do ByteArray. - Grave o valor equivalente em bytes do número booliano
false
e o ponto flutuante de precisão dupla equivalente ao valor matemático de pi. - Compare o número booliano e o do ponto flutuante de precisão dupla.
Observe como um segmento de código é incluído no fim, para verificar erros de fim de arquivo, de modo que o fluxo de bytes não seja lido além de seu fim.
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. } } } }
Wed Jun 13 2018, 11:10 AM Z