Пакет | flash.utils |
Интерфейс | public interface IDataOutput |
Средство реализации | ByteArray, FileStream, Socket |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
По умолчанию все операции IDataInput и IDataOutput используют порядок bigEndian (у старшего байта последовательности меньший адрес), и являются неблокирующими.
Расширение знака имеет значение только при чтении данных, но не при их записи. Поэтому для работы с IDataInput.readUnsignedByte()
и IDataInput.readUnsignedShort()
не требуется создавать отдельные методы записи. Другими словами:
-
IDataOutput.writeByte()
используется сIDataInput.readUnsignedByte()
иIDataInput.readByte()
. -
IDataOutput.writeShort()
используется сIDataInput.readUnsignedShort()
иIDataInput.readShort()
.
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
endian : String
Порядок байтов данных, константа BIG_ENDIAN или LITTLE_ENDIAN класса Endian. | IDataOutput | ||
objectEncoding : uint
Указывает, какой формат, AMF3 или AMF0, используется для записи или чтения двоичных данных с помощью метода writeObject(). | IDataOutput |
Метод | Определено | ||
---|---|---|---|
Записывает логическое значение. | IDataOutput | ||
Записывает байт. | IDataOutput | ||
Записывает последовательность байтов из заданного массива байт bytes, начиная с байта, заданного параметром offset (используя индекс с нулевой базой), длиной, заданной параметром length, в поток файлов, байтов или массив байтов. | IDataOutput | ||
Записывает число IEEE 754 с двойной точностью (64-разрядное) и плавающей запятой. | IDataOutput | ||
Записывает число IEEE 754 с одинарной точностью (32-разрядное) и плавающей запятой. | IDataOutput | ||
Записывает 32-разрядное целое число со знаком. | IDataOutput | ||
Записывает в поток файлов, байтов или массив байтов многобайтовую строку заданной длины с использованием заданного набора символов. | IDataOutput | ||
Записывает объект в поток файлов, байтов или массив байтов в сериализованном формате AMF. | IDataOutput | ||
Записывает 16-разрядное целое число. | IDataOutput | ||
Записывает 32-разрядное целое число без знака. | IDataOutput | ||
Записывает в поток файлов, байтов или массив байтов строку UTF-8. | IDataOutput | ||
Записывает строку UTF-8. | IDataOutput |
endian | свойство |
objectEncoding | свойство |
objectEncoding:uint
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Указывает, какой формат, AMF3 или AMF0, используется для записи или чтения двоичных данных с помощью метода writeObject()
. Значение представлено константой из класса ObjectEncoding.
Реализация
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Связанные элементы API
writeBoolean | () | метод |
public function writeBoolean(value:Boolean):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает логическое значение. Записывается один байт, соответствующий параметру value
, 1 в случае значения true
и 0 в случае значения false
.
Параметры
value:Boolean — Логическое значение, показывающее, какой байт записывается. Если параметр имеет значение true , записывается 1; если false , записывается 0.
|
writeByte | () | метод |
writeBytes | () | метод |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает последовательность байтов из заданного массива байтов bytes
, начиная с байта, заданного параметром offset
(используя индекс с нулевой базой), длиной, заданной параметром length
, в поток файлов, байтов или массив байтов.
Если параметр length
опущен, применение длины по умолчанию, равной 0, приведет к тому, что будет записан весь буфер, начиная со значения параметра offset
. Если также опустить параметр offset
, будет записываться весь буфер.
Если параметры offset
или length
находятся за пределами диапазона, то они корректируются так, чтобы совпасть с началом и концом массива bytes
.
Параметры
bytes:ByteArray — Массив байтов для записи.
| |
offset:uint (default = 0 ) — Индекс с нулевой базой, определяющий положение в массиве для начала записи.
| |
length:uint (default = 0 ) — Целое число без знака, определяющее глубину буфера для записи.
|
writeDouble | () | метод |
public function writeDouble(value:Number):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает число IEEE 754 с двойной точностью (64-разрядное) и плавающей запятой.
Параметры
value:Number — Число с двойной точностью (64-разрядное) и плавающей запятой.
|
writeFloat | () | метод |
public function writeFloat(value:Number):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает число IEEE 754 с одинарной точностью (32-разрядное) и плавающей запятой.
Параметры
value:Number — Число с одинарной точностью (32-разрядное) и плавающей запятой.
|
writeInt | () | метод |
writeMultiByte | () | метод |
public function writeMultiByte(value:String, charSet:String):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает в поток файлов, байтов или массив байтов многобайтовую строку заданной длины с использованием заданного набора символов.
Параметры
value:String — Записываемое значение строки.
| |
charSet:String — Строка, определяющая используемый набор символов. Возможные строки наборов символов: "shift_jis" , "cn-gb" , "iso-8859-1" и другие. Полный список см. в разделе Поддерживаемые наборы символов.
|
writeObject | () | метод |
writeShort | () | метод |
public function writeShort(value:int):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает 16-разрядное целое число. Используются 16 младших битов параметра, а 16 старших битов игнорируются.
Параметры
value:int — Значение байта в виде целого числа.
|
writeUnsignedInt | () | метод |
writeUTF | () | метод |
public function writeUTF(value:String):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает в поток файлов, байтов или массив байтов строку UTF-8. Сначала записывается длина строки UTF-8 в байтах (в виде 16-разрядного целого числа), за которой следуют байты символов строки.
Параметры
value:String — Записываемое значение строки.
|
Выдает
RangeError — Если длина превышает 65535.
|
writeUTFBytes | () | метод |
public function writeUTFBytes(value:String):void
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Записывает строку UTF-8. Аналогично writeUTF()
, но строке не предшествует 16-разрядное слово, указывающее длину.
Параметры
value:String — Записываемое значение строки.
|
DataOutputExample
используется для записи в массив байтов логического значения и представления числа «пи» с двойной точностью и плавающей запятой. Это можно сделать, выполнив следующие действия:
- Объявляется новый экземпляр объекта ByteArray
byteArr
. - Записывается эквивалент байтового логического значения
false
и эквивалент числа «пи» с двойной точностью и плавающей запятой. - Считывается логическое значение и число двойной точности с плавающей запятой.
Обратите внимание на то, что в конце добавляется сегмент кода для проверки ошибок конца файла. Это позволяет прекратить считывание потока байтов по достижении его окончания.
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. } } } }
Tue Jun 12 2018, 11:34 AM Z