Language version: | ActionScript 3.0
|
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.
endian:String
[read-write]
Language version: | ActionScript 3.0
|
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
See also
objectEncoding:uint
[read-write]
Language version: | ActionScript 3.0
|
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
See also
public function writeBoolean(value:Boolean):void
Language version: | ActionScript 3.0
|
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.
|
public function writeByte(value:int):void
Language version: | ActionScript 3.0
|
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.
|
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Language version: | ActionScript 3.0
|
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.
|
public function writeDouble(value:Number):void
Language version: | ActionScript 3.0
|
Writes an IEEE 754 double-precision (64-bit) floating point number.
Parameters
| value:Number — A double-precision (64-bit) floating point number.
|
public function writeFloat(value:Number):void
Language version: | ActionScript 3.0
|
Writes an IEEE 754 single-precision (32-bit) floating point number.
Parameters
| value:Number — A single-precision (32-bit) floating point number.
|
public function writeInt(value:int):void
Language version: | ActionScript 3.0
|
Writes a 32-bit signed integer.
Parameters
| value:int — A byte value as a signed integer.
|
public function writeMultiByte(value:String, charSet:String):void
Language version: | ActionScript 3.0
|
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.
|
public function writeObject(object:*):void
Language version: | ActionScript 3.0
|
Writes an object to the file stream, byte stream, or byte array, in AMF serialized
format.
Parameters
| object:* — The object to be serialized.
|
See also
public function writeShort(value:int):void
Language version: | ActionScript 3.0
|
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.
|
public function writeUnsignedInt(value:uint):void
Language version: | ActionScript 3.0
|
Writes a 32-bit unsigned integer.
Parameters
| value:uint — A byte value as an unsigned integer.
|
public function writeUTF(value:String):void
Language version: | ActionScript 3.0
|
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
public function writeUTFBytes(value:String):void
Language version: | ActionScript 3.0
|
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.
|
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:
- Declare a new ByteArray object instance
byteArr
.
- Write the byte-equivalent value of the Boolean
false
and the double-precision
floating-point equivalent of the mathematical value of pi.
- 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.
}
}
}
}
© 2004-2022 Adobe Systems Incorporated. All rights reserved.
Wed Sep 28 2022, 6:12 PM GMT+01:00