| 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):voidElementos 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):voidElementos 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
byteArrdo ByteArray. - Grave o valor equivalente em bytes do número booliano
falsee 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