Pacote | flash.utils |
Interface | public interface IDataOutput |
Implementadores | ByteArray, FileStream, Socket |
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.
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
Propriedade | Definido por | ||
---|---|---|---|
endian : String
A ordem de bytes para os dados, seja a constante BIG_ENDIAN ou LITTLE_ENDIAN da classe Endian. | IDataOutput | ||
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 writeObject(). | IDataOutput |
Método | Definido por | ||
---|---|---|---|
Grava um valor booliano. | IDataOutput | ||
Grava um byte. | IDataOutput | ||
Grava uma sequência de bytes da matriz de bytes especificada, bytes, iniciando no byte especificado pelo deslocamento (usando um índice com base zero) com um comprimento especificado por comprimento, no fluxo de arquivo, fluxo de bytes ou na matriz de bytes. | IDataOutput | ||
Grava um número de ponto flutuante de precisão dupla (64 bits) IEEE 754. | IDataOutput | ||
Grava um número de ponto flutuante de precisão única (32 bits) IEEE 754. | IDataOutput | ||
Grava um inteiro assinado de 32 bits. | IDataOutput | ||
Grava uma string multibyte para o fluxo de arquivo, fluxo de byte ou matriz de byte, usando o conjunto de caracteres especificado. | IDataOutput | ||
Grava um objeto no fluxo de arquivo, fluxo de bytes ou na matriz de bytes no formato serializado AMF. | IDataOutput | ||
Grava um inteiro de 16 bits. | IDataOutput | ||
Grava um inteiro não assinado de 32 bits. | IDataOutput | ||
Grava uma string UTF-8 para o fluxo de arquivos, fluxo de byte ou matriz de byte. | IDataOutput | ||
Grava uma string UTF-8. | IDataOutput |
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 a leitura de dados binários usando o método writeObject()
. 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
writeBoolean | () | método |
public function writeBoolean(value:Boolean):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um valor booliano. Um único byte é gravado de acordo com o parâmetro value
, 1 se for true
ou 0 se for false
.
Parâmetros
value:Boolean — O valor booliano que determina os bytes gravados. Se o parâmetro for true , 1 é escrito; se for false , 0 é escrito.
|
writeByte | () | método |
writeBytes | () | método |
public function writeBytes(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 |
Grava uma sequência de bytes da matriz de bytes especificada, bytes
, iniciando no byte especificado por offset
(usando um índice com base zero) com length
especificado por comprimento, no fluxo de arquivo, fluxo de bytes ou na matriz de bytes.
Se o parâmetro lenght
for omitido, é usado o comprimento padrão de 0 e todo o buffer com início em offset
é gravado. Se o parâmetro deslocamento
também for omitido, é gravado todo o buffer.
Se os parâmetros offset
ou length
estiverem fora do limite, eles são fixados no início e no fim da matriz de bytes
.
Parâmetros
bytes:ByteArray — A matriz de bytes para gravar.
| |
offset:uint (default = 0 ) — Um índice base zero especifica a posição na matriz para começar a escrita.
| |
length:uint (default = 0 ) — Um inteiro sem sinal especifica a distância no buffer a ser gravada.
|
writeDouble | () | método |
writeFloat | () | método |
writeInt | () | método |
writeMultiByte | () | método |
public function writeMultiByte(value:String, charSet:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava uma string multibyte para o fluxo de arquivo, fluxo de byte ou matriz de byte, usando o conjunto de caracteres especificado.
Parâmetros
value:String — O valor da string para gravar.
| |
charSet:String — A string que denota o conjunto de caracteres para usar. 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.
|
writeObject | () | método |
public function writeObject(object:*):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um objeto no fluxo de arquivo, fluxo de bytes ou na matriz de bytes no formato serializado AMF.
Parâmetros
object:* — O objeto a ser serializado.
|
Elementos da API relacionados
writeShort | () | método |
public function writeShort(value:int):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava um inteiro de 16 bits. Os 16 bits inferiores do parâmetro são usados e os 16 bits superiores são ignorados.
Parâmetros
value:int — Um valor de byte como uma integral.
|
writeUnsignedInt | () | método |
writeUTF | () | método |
public function writeUTF(value:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava uma string UTF-8 para o fluxo de arquivos, fluxo de byte ou matriz de byte. O comprimento da string UTF-8 em bytes é gravado primeiro, como uma integral de 16 bits, seguido pelos bytes que representam os caracteres da string.
Parâmetros
value:String — O valor da string para gravar.
|
Lança
RangeError — Se o comprimento for maior do que 65535.
|
writeUTFBytes | () | método |
public function writeUTFBytes(value:String):void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Grava uma string UTF-8. Semelhante à writeUTF()
, mas não coloca como prefixo da string uma palavra com o comprimento de 16 bits.
Parâmetros
value:String — O valor da string para gravar.
|
DataOutputExample
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 DataOutputExample extends Sprite { public function DataOutputExample() { 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