Пакет | flash.utils |
Интерфейс | public interface IDataInput |
Средство реализации | ByteArray, FileStream, Socket, URLStream |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
По умолчанию все операции IDataInput и IDataOutput используют порядок bigEndian (у старшего байта последовательности меньший адрес), и являются неблокирующими. Если данных недостаточно, возникает исключение EOFError
. Для определения количества байтов, доступных для чтения, используйте свойство IDataInput.bytesAvailable
.
Расширение знака имеет значение только при чтении данных, но не при их записи. Поэтому для работы с IDataInput.readUnsignedByte()
и IDataInput.readUnsignedShort()
не требуется создавать отдельные методы записи. Другими словами:
-
IDataOutput.writeByte()
используется сIDataInput.readUnsignedByte()
иIDataInput.readByte()
. -
IDataOutput.writeShort()
используется сIDataInput.readUnsignedShort()
иIDataInput.readShort()
.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
bytesAvailable : uint [только для чтения]
Возвращает число байтов данных, доступных для чтения во входном буфере. | IDataInput | ||
endian : String
Порядок байтов данных, константа BIG_ENDIAN или LITTLE_ENDIAN класса Endian. | IDataInput | ||
objectEncoding : uint
Указывает, какой формат, AMF3 или AMF0, используется для записи или чтения двоичных данных с помощью метода readObject(). | IDataInput |
Метод | Определено | ||
---|---|---|---|
Считывает логическое значение из потока файлов, байтов или массива байтов. | IDataInput | ||
Считывает байт со знаком из потока файлов, байтов или массива байтов. | IDataInput | ||
Считывает число байтов данных, заданное параметром length, из потока файлов, байтов или массива байтов. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов число IEEE 754 с двойной точностью и плавающей запятой. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов число IEEE 754 с одинарной точностью и плавающей запятой. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов 32-разрядное целое число со знаком. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов многобайтовую строку заданной длины с использованием указанного набора символов. | IDataInput | ||
readObject():*
Считывает объект из потока файлов, байтов или массива байтов зашифрованный в сериализованном формате AMF. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов 16-разрядное целое число со знаком. | IDataInput | ||
Считывает байт без знака из потока файлов, байтов или массива байтов. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов 32-разрядное целое число без знака. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов 16-разрядное целое число без знака. | IDataInput | ||
Считывает из потока файлов, байтов или массива байтов строку UTF-8. | IDataInput | ||
Считывает последовательность байтов UTF-8 из потока байтов или массива байтов и возвращает строку. | IDataInput |
bytesAvailable | свойство |
bytesAvailable:uint
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Возвращает число байтов данных, доступных для чтения во входном буфере. В коде должен быть вызов свойства bytesAvailable
, проверяющий доступность необходимого объема данных до того, как будет выполнена попытка их считывания с помощью одного из методов чтения.
Реализация
public function get bytesAvailable():uint
endian | свойство |
objectEncoding | свойство |
objectEncoding:uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Указывает, какой формат, AMF3 или AMF0, используется для записи или чтения двоичных данных с помощью метода readObject()
. Значение представлено константой из класса ObjectEncoding.
Реализация
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Связанные элементы API
readBoolean | () | метод |
public function readBoolean():Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает логическое значение из потока файлов, байтов или массива байтов. Считывается один байт. Если этот байт ненулевой, то возвращается значение true
. В противном случае возвращается значение false
.
Boolean — Логическое значение будет true , если количество байтов не равно нулю, в остальных случаях оно будет false .
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readByte | () | метод |
public function readByte():int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает байт со знаком из потока файлов, байтов или массива байтов.
Возвращаетint — Возвращенное значение находится в диапазоне от -128 до 127.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readBytes | () | метод |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает число байтов данных, заданное параметром length
, из потока файлов, байтов или массива байтов. Байты считываются в объект ByteArray, определяемый параметром bytes
, при этом начальная позиция определяется параметром offset
.
Параметры
bytes:ByteArray — Объект ByteArray , в который считываются данные.
| |
offset:uint (default = 0 ) — Смещение в параметре bytes , с которого должно начинаться считывание данных.
| |
length:uint (default = 0 ) — Число байтов для считывания. Если значение по умолчанию равно 0, считываются все доступные данные.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readDouble | () | метод |
public function readDouble():Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов число IEEE 754 с двойной точностью и плавающей запятой.
ВозвращаетNumber — Число IEEE 754 с двойной точностью и плавающей запятой.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readFloat | () | метод |
public function readFloat():Number
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов число IEEE 754 с одинарной точностью и плавающей запятой.
ВозвращаетNumber — Число IEEE 754 с одинарной точностью и плавающей запятой.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readInt | () | метод |
public function readInt():int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов 32-разрядное целое число со знаком.
Возвращаетint — Возвращаемое значение находится в диапазоне от -2147483648 до 2147483647.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readMultiByte | () | метод |
public function readMultiByte(length:uint, charSet:String):String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов многобайтовую строку заданной длины с использованием указанного набора символов.
Параметры
length:uint — Число считываемых из потока байтов.
| |
charSet:String — Строка, обозначающая набор символов, которые используются для интерпретации байтов. Возможные строки наборов символов: "shift_jis" , "cn-gb" , "iso-8859-1" и другие. Полный список см. в разделе Поддерживаемые наборы символов.
Примечание. Если в текущей системе не распознается значение параметра |
String — Строка в кодировке UTF-8.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readObject | () | метод |
public function readObject():*
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает объект из потока файлов, байтов или массива байтов зашифрованный в сериализованном формате AMF.
Возвращает* — Десериализованный объект
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
Связанные элементы API
readShort | () | метод |
public function readShort():int
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов 16-разрядное целое число со знаком.
Возвращаетint — Возвращаемое значение находится в диапазоне от -32768 до 32767.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readUnsignedByte | () | метод |
public function readUnsignedByte():uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает байт без знака из потока файлов, байтов или массива байтов.
Возвращаетuint — Возвращенное значение находится в диапазоне от 0 до 255.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readUnsignedInt | () | метод |
public function readUnsignedInt():uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов 32-разрядное целое число без знака.
Возвращаетuint — Возвращенное значение находится в диапазоне от 0 до 4294967295.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readUnsignedShort | () | метод |
public function readUnsignedShort():uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов 16-разрядное целое число без знака.
Возвращаетuint — Возвращенное значение находится в диапазоне от 0 до 65535.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readUTF | () | метод |
public function readUTF():String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает из потока файлов, байтов или массива байтов строку UTF-8. Предполагается, что в строку вставляется префикс с неподписанным значением, указывающим длину в байтах.
Этот метод похож на метод readUTF()
в интерфейсе Java® IDataInput.
String — Строка в кодировке UTF-8, являющаяся байтовым представлением символов.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
readUTFBytes | () | метод |
public function readUTFBytes(length:uint):String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Считывает последовательность байтов UTF-8 из потока байтов или массива байтов и возвращает строку.
Параметры
length:uint — Число байтов для считывания.
|
String — Строка в кодировке UTF-8, являющаяся байтовым представлением символов указанной длины.
|
Выдает
EOFError — Недостаточно данных, доступных для чтения.
|
DataInputExample
используется для записи в массив байтов логического значения и представления числа «пи» с двойной точностью и плавающей запятой. Это можно сделать, выполнив следующие действия:
- Объявляется новый экземпляр объекта ByteArray
byteArr
. - Записывается эквивалент байтового логического значения
false
и эквивалент числа «пи» с двойной точностью и плавающей запятой. - Считывается логическое значение и число двойной точности с плавающей запятой.
Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байтов по достижении его окончания.
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. } } } }
Tue Jun 12 2018, 11:34 AM Z