flash.utils

# IDataOutput - AS3

Package | flash.utils
Interface | public 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

IDataInput interface
endian
FileStream class
Socket class
URLStream class
ByteArray class

Public Properties

| Property | Defined 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

| Method | Defined By
--- | --- | ---
|  | writeBoolean(value:Boolean):void 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 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
|  | writeDouble(value:Number):void Writes an IEEE 754 double-precision (64-bit) floating point number. | IDataOutput
|  | writeFloat(value:Number):void 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
|  | writeShort(value:int):void Writes a 16-bit integer. | IDataOutput
|  | writeUnsignedInt(value:uint):void Writes a 32-bit unsigned integer. | IDataOutput
|  | writeUTF(value:String):void Writes a UTF-8 string to the file stream, byte stream, or byte array. | IDataOutput
|  | writeUTFBytes(value:String):void 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

Endian class

### 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

IDataInput.readObject()
writeObject()
ObjectEncoding class
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

objectEncoding
flash.net.registerClassAlias()

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

Examples How to use this example
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.

Copy

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

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00