ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
flash.utils 

IDataOutput  - AS3

Packageflash.utils
Interfacepublic interface IDataOutput
Implementors ByteArray, FileStream, Socket

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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:

  • Use IDataOutput.writeByte() with IDataInput.readUnsignedByte() and IDataInput.readByte().
  • Use IDataOutput.writeShort() with IDataInput.readUnsignedShort() and IDataInput.readShort().

View the examples

Related API Elements



Public Properties
 PropertyDefined By
  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
Public Methods
 MethodDefined By
  
Writes a Boolean value.
IDataOutput
  
Writes a byte.
IDataOutput
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Writes a sequence of bytes from the specified byte array, bytes, starting at the byte specified by offset (using a zero-based index) with a length specified by length, 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
  
Writes a 32-bit signed integer.
IDataOutput
  
Writes a multibyte string to the file stream, byte stream, or byte array, using the specified character set.
IDataOutput
  
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
Property Detail

endian

property
endian:String

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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



Implementation
    public function get endian():String
    public function set endian(value:String):void

Related API Elements

objectEncoding

property 
objectEncoding:uint

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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.



Implementation
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Related API Elements

Method Detail

writeBoolean

()method
public function writeBoolean(value:Boolean):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

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

writeByte

()method 
public function writeByte(value:int):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

value:int — A byte value as an integer.

writeBytes

()method 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Writes a sequence of bytes from the specified byte array, bytes, starting at the byte specified by offset (using a zero-based index) with a length specified by length, 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.

Parameters

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

writeDouble

()method 
public function writeDouble(value:Number):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

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

writeFloat

()method 
public function writeFloat(value:Number):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

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

writeInt

()method 
public function writeInt(value:int):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Writes a 32-bit signed integer.

Parameters

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

writeMultiByte

()method 
public function writeMultiByte(value:String, charSet:String):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

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

()method 
public function writeObject(object:*):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

object:* — The object to be serialized.

Related API Elements

writeShort

()method 
public function writeShort(value:int):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

value:int — A byte value as an integer.

writeUnsignedInt

()method 
public function writeUnsignedInt(value:uint):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

Writes a 32-bit unsigned integer.

Parameters

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

writeUTF

()method 
public function writeUTF(value:String):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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.

Parameters

value:String — The string value to be written.

Throws
RangeError — If the length is larger than 65535.

writeUTFBytes

()method 
public function writeUTFBytes(value:String):void

Language Version: ActionScript 3.0
Runtime Versions: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parameters

value:String — The string value to be written.
DataOutputExample.as

The following example 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.
            }
        }
    }
}