Pacoteflash.utils
Interfacepublic interface IDataOutput
ImplementorsByteArray, FileStream, Socket

The IDataOutput interface provides a set of methods for writing binary data. This interface is the I/O counterpart to the IDataInput interface, which reads binary data. The IDataOutput interface is implemented by the FileStream, Socket and ByteArray classes.

All IDataInput and IDataOutput operations are "bigEndian" by default (the most significant byte in the sequence is stored at the lowest or first storage address), and are nonblocking.

Sign extension matters only when you read data, not when you write it. Therefore, you do not need separate write methods to work with IDataInput.readUnsignedByte() and IDataInput.readUnsignedShort(). In other words:

Veja Exemplos

Veja também

IDataInput interface
endian
FileStream class
Socket class
URLStream class
ByteArray class


Propriedades Públicas
 PropriedadeDefinido por
  endian : String
The byte order for the data, either the BIG_ENDIAN or LITTLE_ENDIAN constant from the Endian class.
IDataOutput
  objectEncoding : uint
Used to determine whether the AMF3 or AMF0 format is used when writing or reading binary data using the writeObject() method.
IDataOutput
Métodos Públicos
 MétodoDefinido por
  
Writes a Boolean value.
IDataOutput
  
writeByte(value:int):void
Writes a byte.
IDataOutput
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Writes a sequence of length bytes from the specified byte array, bytes, starting offset(zero-based index) bytes into the file stream, byte stream, or byte array.
IDataOutput
  
Writes an IEEE 754 double-precision (64-bit) floating point number.
IDataOutput
  
Writes an IEEE 754 single-precision (32-bit) floating point number.
IDataOutput
  
writeInt(value:int):void
Writes a 32-bit signed integer.
IDataOutput
  
writeMultiByte(value:String, charSet:String):void
Writes a multibyte string to the file stream, byte stream, or byte array, using the specified character set.
IDataOutput
  
writeObject(object:*):void
Writes an object to the file stream, byte stream, or byte array, in AMF serialized format.
IDataOutput
  
Writes a 16-bit integer.
IDataOutput
  
Writes a 32-bit unsigned integer.
IDataOutput
  
Writes a UTF-8 string to the file stream, byte stream, or byte array.
IDataOutput
  
Writes a UTF-8 string.
IDataOutput
Detalhes da propriedade
endianpropriedade
endian:String  [read-write]

The byte order for the data, either the BIG_ENDIAN or LITTLE_ENDIAN constant from the Endian class.


Implementação
    public function get endian():String
    public function set endian(value:String):void

Veja também

objectEncodingpropriedade 
objectEncoding:uint  [read-write]

Used to determine whether the AMF3 or AMF0 format is used when writing or reading binary data using the writeObject() method. The value is a constant from the ObjectEncoding class.


Implementação
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Veja também

Detalhes do método
writeBoolean()método
public function writeBoolean(value:Boolean):void

Writes a Boolean value. A single byte is written according to the value parameter, either 1 if true or 0 if false.

Parâmetros

value:Boolean — A Boolean value determining which byte is written. If the parameter is true, 1 is written; if false, 0 is written.

writeByte()método 
public function writeByte(value:int):void

Writes a byte. The low 8 bits of the parameter are used. The high 24 bits are ignored.

Parâmetros

value:int — A byte value as an integer.

writeBytes()método 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Writes a sequence of length bytes from the specified byte array, bytes, starting offset(zero-based index) bytes into the file stream, byte stream, or byte array.

If the length parameter is omitted, the default length of 0 is used and the entire buffer starting at offset is written. If the offset parameter is also omitted, the entire buffer is written.

If the offset or length parameter is out of range, they are clamped to the beginning and end of the bytes array.

Parâmetros

bytes:ByteArray — The byte array to write.
 
offset:uint (default = 0) — A zero-based index indicating the position into the array to begin writing.
 
length:uint (default = 0) — An unsigned integer indicating how far into the buffer to write.

writeDouble()método 
public function writeDouble(value:Number):void

Writes an IEEE 754 double-precision (64-bit) floating point number.

Parâmetros

value:Number — A double-precision (64-bit) floating point number.

writeFloat()método 
public function writeFloat(value:Number):void

Writes an IEEE 754 single-precision (32-bit) floating point number.

Parâmetros

value:Number — A single-precision (32-bit) floating point number.

writeInt()método 
public function writeInt(value:int):void

Writes a 32-bit signed integer.

Parâmetros

value:int — A byte value as a signed integer.

writeMultiByte()método 
public function writeMultiByte(value:String, charSet:String):void

Writes a multibyte string to the file stream, byte stream, or byte array, using the specified character set.

Parâmetros

value:String — The string value to be written.
 
charSet:String — The string denoting the character set to use. Possible character set strings include "shift-jis", "cn-gb", "iso-8859-1" and others. For a complete list, see Supported Character Sets.

writeObject()método 
public function writeObject(object:*):void

Writes an object to the file stream, byte stream, or byte array, in AMF serialized format.

Parâmetros

object:* — the object to be serialized

Veja também

writeShort()método 
public function writeShort(value:int):void

Writes a 16-bit integer. The low 16 bits of the parameter are used. The high 16 bits are ignored.

Parâmetros

value:int — A byte value as an integer.

writeUnsignedInt()método 
public function writeUnsignedInt(value:uint):void

Writes a 32-bit unsigned integer.

Parâmetros

value:uint — A byte value as an unsigned integer.

writeUTF()método 
public function writeUTF(value:String):void

Writes a UTF-8 string to the file stream, byte stream, or byte array. The length of the UTF-8 string in bytes is written first, as a 16-bit integer, followed by the bytes representing the characters of the string.

Parâmetros

value:String — The string value to be written.


Throws
RangeError — If the length is larger than 65535.
writeUTFBytes()método 
public function writeUTFBytes(value:String):void

Writes a UTF-8 string. Similar to writeUTF(), but does not prefix the string with a 16-bit length word.

Parâmetros

value:String — The string value to be written.

Exemplos How to use examples
DataOutputExample.as

The following exemplo uses the class DataOutputExample to write a boolean and the double-precision floating-point representation of pi to a byte array. This is accomplished using the following steps:
  1. Declare a new ByteArray object instance byteArr.
  2. Write the byte-equivalent value of the Boolean false and the double-precision floating-point equivalent of the mathematical value of pi.
  3. Read back the boolean and double-precision floating-point number.

Notice how a code segment is added at the end to check for end of file errors to ensure that the byte stream is not read past its end.

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.
            }
        }
    }
}