Справочник по ActionScript® 3.0 для платформы Adobe® Flash®
Домашняя страница  |  Скрыть список пакетов и классов |  Пакеты  |  Классы  |  Что нового  |  Указатель  |  Приложения  |  Почему по-английски?
Фильтры: Получение данных с сервера...
Получение данных с сервера...
flash.utils 

IDataInput  - AS3

Пакетflash.utils
Интерфейсpublic interface IDataInput
Средство реализации ByteArray, FileStream, Socket, URLStream

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

В интерфейсе IDataInput предусмотрен набор методов для чтения двоичных данных. В операциях ввода-вывода этот интерфейс дополняет интерфейс IDataOutput, который записывает двоичные данные.

По умолчанию все операции 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
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Считывает число байтов данных, заданное параметром length, из потока файлов, байтов или массива байтов.
IDataInput
  
Считывает из потока файлов, байтов или массива байтов число IEEE 754 с двойной точностью и плавающей запятой.
IDataInput
  
Считывает из потока файлов, байтов или массива байтов число IEEE 754 с одинарной точностью и плавающей запятой.
IDataInput
  
Считывает из потока файлов, байтов или массива байтов 32-разрядное целое число со знаком.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
Считывает из потока файлов, байтов или массива байтов многобайтовую строку заданной длины с использованием указанного набора символов.
IDataInput
  
Считывает объект из потока файлов, байтов или массива байтов зашифрованный в сериализованном формате 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

свойство 
endian:String

Язык версии: ActionScript 3.0
Версии среды выполнения: AIR 1.0, Flash Player 9, Flash Lite 4

Порядок байтов данных, константа BIG_ENDIAN или LITTLE_ENDIAN класса Endian.



Реализация
    public function get endian():String
    public function set endian(value:String):void

Связанные элементы API

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" и другие. Полный список см. в разделе Поддерживаемые наборы символов.

Примечание. Если в текущей системе не распознается значение параметра charSet, то в качестве набора символов Adobe® Flash® Player или Adobe® AIR® будет использована кодовая страница по умолчанию. Например, значение параметра charSet, как в myTest.readMultiByte(22, iso-8859-01), использующее 01 вместо 1, может работать в системе разработчика, а в другой системе нет. В другой системе программа Flash Player или среда выполнения AIR будет использовать кодовую страницу, заданную по умолчанию в системе.

Возвращает
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.as

В следующем примере класс DataInputExample используется для записи в массив байтов логического значения и представления числа «пи» с двойной точностью и плавающей запятой. Это можно сделать, выполнив следующие действия:
  1. Объявляется новый экземпляр объекта ByteArray byteArr.
  2. Записывается эквивалент байтового логического значения false и эквивалент числа «пи» с двойной точностью и плавающей запятой.
  3. Считывается логическое значение и число двойной точности с плавающей запятой.

Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байтов по достижении его окончания.

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




[ X ]Почему по-английски?
Содержимое Справочника ActionScript 3.0 отображается на английском языке

Не все части Справочника ActionScript 3.0 переводятся на все языки. Если какой-то текстовый элемент не переведен, он отображается на английском языке. Например, компонент ga.controls.HelpBox не переведен ни на один из языков. Это значит, что в русской версии справки компонент ga.controls.HelpBox будет отображаться на английском языке.