Package | flash.utils |
Interface | public interface IDataInput |
Implementors | ByteArray, FileStream, Socket, URLStream |
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
If insufficient data is available, an EOFError
exception
is thrown. Use the IDataInput.bytesAvailable
property to determine
how much data is available to read.
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()
withIDataInput.readUnsignedByte()
andIDataInput.readByte()
. - Use
IDataOutput.writeShort()
withIDataInput.readUnsignedShort()
andIDataInput.readShort()
.
Related API Elements
Property | Defined By | ||
---|---|---|---|
bytesAvailable : uint [read-only]
Returns the number of bytes of data available for reading
in the input buffer. | IDataInput | ||
endian : String
The byte order for the data, either the BIG_ENDIAN or LITTLE_ENDIAN constant
from the Endian class. | IDataInput | ||
objectEncoding : uint
Used to determine whether the AMF3 or AMF0 format is used when writing or reading binary data using the
readObject() method. | IDataInput |
Method | Defined By | ||
---|---|---|---|
Reads a Boolean value from the file stream, byte stream, or byte array. | IDataInput | ||
Reads a signed byte from the file stream, byte stream, or byte array. | IDataInput | ||
Reads the number of data bytes, specified by the length parameter,
from the file stream, byte stream, or byte array. | IDataInput | ||
Reads an IEEE 754 double-precision floating point number from the file stream, byte stream, or byte array. | IDataInput | ||
Reads an IEEE 754 single-precision floating point number from the file stream, byte stream, or byte array. | IDataInput | ||
Reads a signed 32-bit integer from the file stream, byte stream, or byte array. | IDataInput | ||
Reads a multibyte string of specified length from the file stream, byte stream, or byte array using the
specified character set. | IDataInput | ||
readObject():*
Reads an object from the file stream, byte stream, or byte array, encoded in AMF
serialized format. | IDataInput | ||
Reads a signed 16-bit integer from the file stream, byte stream, or byte array. | IDataInput | ||
Reads an unsigned byte from the file stream, byte stream, or byte array. | IDataInput | ||
Reads an unsigned 32-bit integer from the file stream, byte stream, or byte array. | IDataInput | ||
Reads an unsigned 16-bit integer from the file stream, byte stream, or byte array. | IDataInput | ||
Reads a UTF-8 string from the file stream, byte stream, or byte array. | IDataInput | ||
Reads a sequence of UTF-8 bytes from the byte stream or byte array and returns a string. | IDataInput |
bytesAvailable | property |
bytesAvailable:uint
[read-only] Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returns the number of bytes of data available for reading
in the input buffer.
User code must call bytesAvailable
to ensure
that sufficient data is available before trying to read
it with one of the read methods.
Implementation
public function get bytesAvailable():uint
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
readObject()
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
readBoolean | () | method |
public function readBoolean():Boolean
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads a Boolean value from the file stream, byte stream, or byte array. A single byte is read
and true
is returned if the byte is nonzero,
false
otherwise.
Boolean — A Boolean value, true if the byte is nonzero,
false otherwise.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readByte | () | method |
public function readByte():int
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads a signed byte from the file stream, byte stream, or byte array.
Returnsint — The returned value is in the range -128 to 127.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readBytes | () | method |
public function readBytes(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 |
Reads the number of data bytes, specified by the length
parameter,
from the file stream, byte stream, or byte array. The bytes are read into the
ByteArray objected specified by the bytes
parameter, starting at
the position specified by offset
.
Parameters
bytes:ByteArray — The ByteArray object to read
data into.
| |
offset:uint (default = 0 ) — The offset into the bytes parameter at which data
read should begin.
| |
length:uint (default = 0 ) — The number of bytes to read. The default value
of 0 causes all available data to be read.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readDouble | () | method |
public function readDouble():Number
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads an IEEE 754 double-precision floating point number from the file stream, byte stream, or byte array.
ReturnsNumber — An IEEE 754 double-precision floating point number.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readFloat | () | method |
public function readFloat():Number
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads an IEEE 754 single-precision floating point number from the file stream, byte stream, or byte array.
ReturnsNumber — An IEEE 754 single-precision floating point number.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readInt | () | method |
public function readInt():int
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads a signed 32-bit integer from the file stream, byte stream, or byte array.
Returnsint — The returned value is in the range -2147483648 to 2147483647.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readMultiByte | () | method |
public function readMultiByte(length:uint, charSet:String):String
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads a multibyte string of specified length from the file stream, byte stream, or byte array using the specified character set.
Parameters
length:uint — The number of bytes from the byte stream to read.
| |
charSet:String — The string denoting the character set to use to interpret the bytes.
Possible character set strings include "shift-jis" , "cn-gb" ,
"iso-8859-1" , and others.
For a complete list, see Supported Character Sets.
Note: If the value for the |
String — UTF-8 encoded string.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readObject | () | method |
public function readObject():*
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads an object from the file stream, byte stream, or byte array, encoded in AMF serialized format.
Returns* — The deserialized object
|
Throws
EOFError — There is not sufficient data available
to read.
|
Related API Elements
readShort | () | method |
public function readShort():int
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads a signed 16-bit integer from the file stream, byte stream, or byte array.
Returnsint — The returned value is in the range -32768 to 32767.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readUnsignedByte | () | method |
public function readUnsignedByte():uint
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads an unsigned byte from the file stream, byte stream, or byte array.
Returnsuint — The returned value is in the range 0 to 255.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readUnsignedInt | () | method |
public function readUnsignedInt():uint
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads an unsigned 32-bit integer from the file stream, byte stream, or byte array.
Returnsuint — The returned value is in the range 0 to 4294967295.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readUnsignedShort | () | method |
public function readUnsignedShort():uint
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads an unsigned 16-bit integer from the file stream, byte stream, or byte array.
Returnsuint — The returned value is in the range 0 to 65535.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readUTF | () | method |
public function readUTF():String
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads a UTF-8 string from the file stream, byte stream, or byte array. The string is assumed to be prefixed with an unsigned short indicating the length in bytes.
This method is similar to the readUTF()
method in the Java® IDataInput interface.
String — A UTF-8 string produced by the byte representation of characters.
|
Throws
EOFError — There is not sufficient data available
to read.
|
readUTFBytes | () | method |
public function readUTFBytes(length:uint):String
Language Version: | ActionScript 3.0 |
Runtime Versions: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Reads a sequence of UTF-8 bytes from the byte stream or byte array and returns a string.
Parameters
length:uint — The number of bytes to read.
|
String — A UTF-8 string produced by the byte representation of characters of the specified length.
|
Throws
EOFError — There is not sufficient data available
to read.
|
DataInputExample
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 DataInputExample extends Sprite { public function DataInputExample() { 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. } } } }
Mon Nov 28 2011, 06:48 AM -08:00