| Пакет | 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