interface IDataInput
package openfl.utils
extended by FileStream, Socket, URLStream, AMF3ReaderInput
Available on all platforms
The IDataInput interface provides a set of methods for reading binary data. This interface is the I/O counterpart to the IDataOutput interface, which writes binary data.
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()
.
Variables
read onlybytesAvailable:UInt
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.
endian:Endian
The byte order for the data, either the BIG_ENDIAN
or LITTLE_ENDIAN
constant
from the Endian class.
objectEncoding:ObjectEncoding
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.
Methods
readBoolean():Bool
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.
Returns:
A Boolean value, true
if the byte is nonzero, false
otherwise.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readByte():Int
Reads a signed byte from the file stream, byte stream, or byte array.
Returns:
The returned value is in the range -128 to 127.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readBytes(bytes:ByteArray, offset:UInt = 0, length:Int = 0):Void
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
.
@param offset The offset into the bytes
parameter at which data read should
begin.
Parameters:
bytes | The ByteArray object to read data into. |
---|---|
length | 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():Float
Reads an IEEE 754 double-precision floating point number from the file stream, byte stream, or byte array.
Returns:
An IEEE 754 double-precision floating point number.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readFloat():Float
Reads an IEEE 754 single-precision floating point number from the file stream, byte stream, or byte array.
Returns:
An IEEE 754 single-precision floating point number.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readInt():Int
Reads a signed 32-bit integer from the file stream, byte stream, or byte array.
Returns:
The returned value is in the range -2147483648 to 2147483647.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readMultiByte(length:UInt, charSet:String):String
Reads a multibyte string of specified length from the file stream, byte stream, or byte array using the specified character set.
Parameters:
length | The number of bytes from the byte stream to read. |
---|---|
charSet | 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 |
Returns:
UTF-8 encoded string.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readObject():Dynamic
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. |
---|
readShort():Int
Reads a signed 16-bit integer from the file stream, byte stream, or byte array.
Returns:
The returned value is in the range -32768 to 32767.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readUTF():String
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.
Returns:
A UTF-8 string produced by the byte representation of characters.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readUTFBytes(length:Int):String
Reads a sequence of UTF-8 bytes from the byte stream or byte array and returns a string.
Parameters:
length | The number of bytes to read. |
---|
Returns:
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. |
---|
readUnsignedByte():Int
Reads an unsigned byte from the file stream, byte stream, or byte array.
Returns:
The returned value is in the range 0 to 255.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readUnsignedInt():Int
Reads an unsigned 32-bit integer from the file stream, byte stream, or byte array.
Returns:
The returned value is in the range 0 to 4294967295.
Throws:
EOFError | There is not sufficient data available to read. |
---|
readUnsignedShort():Int
Reads an unsigned 16-bit integer from the file stream, byte stream, or byte array.
Returns:
The returned value is in the range 0 to 65535.
Throws:
EOFError | There is not sufficient data available to read. |
---|