Главная / Action Script 3
Пакетflash.utils
Интерфейс public interface IDataOutput
Средство реализации ByteArray, FileStream, Socket

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

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

По умолчанию все операции IDataInput и IDataOutput используют порядок bigEndian (у старшего байта последовательности меньший адрес), и являются неблокирующими.

Расширение знака имеет значение только при чтении данных, но не при их записи. Поэтому для работы с IDataInput.readUnsignedByte() и IDataInput.readUnsignedShort() не требуется создавать отдельные методы записи. Другими словами:

Посмотреть примеры

См. также

Интерфейс IDataInput
endian
Класс Socket
Класс URLStream
Класс ByteArray


Общедоступные свойства
 СвойствоОпределено
  endian : String
Порядок байт данных, константа bigEndian или littleEndian класса Endian.
IDataOutput
  objectEncoding : uint
Позволяет определить, какой формат — ActionScript 3.0, ActionScript 2.0 или ActionScript 1.0, — должен применяться при записи или чтении двоичных данных.
IDataOutput
Общедоступные методы
 МетодОпределено
  
Записывает логическое значение.
IDataOutput
  
Записывает байт.
IDataOutput
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Записывает в поток байт последовательность байт из заданного массива байт, начиная с начальных байт (индекс, отсчитываемый от нуля).
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свойство
endian:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Порядок байт данных, константа bigEndian или littleEndian класса Endian.



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

См. также

objectEncodingсвойство 
objectEncoding:uint  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Позволяет определить, какой формат — ActionScript 3.0, ActionScript 2.0 или ActionScript 1.0, — должен применяться при записи или чтении двоичных данных. Значение представлено константой из класса ObjectEncoding.



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

См. также

Сведения о методе
writeBoolean()метод
public function writeBoolean(value:Boolean):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает логическое значение. Записывается один байт, соответствующий параметру value. 1 в случае значения true, и 0 в случае значения false.

Параметры

value:Boolean — Логическое значение, показывающее, какой байт записывается. Если параметр содержит значение true, проигрыватель Flash Player записывает 1. В случае значения false записывается 0.

writeByte()метод 
public function writeByte(value:int):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает байт. Используется 8 младших битов параметра. 24 старших бита игнорируются.

Параметры

value:int — Значение байта в виде целого числа.

writeBytes()метод 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает в поток байт последовательность байт длиной length из заданного массива байт (bytes), начиная со смещения offset (индекс отсчитывается от нуля).

Если параметр length опущен, применение длины по умолчанию, равной 0, приведет к тому, что проигрыватель Flash Player будет записывать весь буфер, начиная со смещения 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
Версии среды выполнения:  1.0 9

Записывает число IEEE 754 с двойной точностью (64-разрядное) и плавающей запятой.

Параметры

value:Number — Число с двойной точностью (64-разрядное) и плавающей запятой.

writeFloat()метод 
public function writeFloat(value:Number):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает число IEEE 754 с одинарной точностью (32-разрядное) и плавающей запятой.

Параметры

value:Number — Число с одинарной точностью (32-разрядное) и плавающей запятой.

writeInt()метод 
public function writeInt(value:int):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает 32-разрядное целое число со знаком.

Параметры

value:int — Значение байта в виде целого числа со знаком.

writeMultiByte()метод 
public function writeMultiByte(value:String, charSet:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает многобайтовую строку в поток байт с использованием заданного набора знаков.

Параметры

value:String — Записываемое значение строки.
 
charSet:String — Строка, обозначающая используемый набор символов. Возможные строки наборов символов: "shift_jis", "cn-gb", "iso-8859-1" и другие. Полный список см. в разделе Поддерживаемые наборы символов.

writeObject()метод 
public function writeObject(object:*):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает объект в поток байт или массив байт в сериализованном формате AMF.

Параметры

object:* — объект для сериализации

См. также

writeShort()метод 
public function writeShort(value:int):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает 16-разрядное целое число. Используется 16 младших битов параметра. 16 старших битов игнорируются.

Параметры

value:int — Значение байта в виде целого числа.

writeUnsignedInt()метод 
public function writeUnsignedInt(value:uint):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает 32-разрядное целое число без знака.

Параметры

value:uint — Значение байта в виде целого беззнакового числа.

writeUTF()метод 
public function writeUTF(value:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает строку UTF-8 в поток байт. Сначала записывается длина строки UTF-8 в байтах (в виде 16-разрядного целого числа), за которой следуют байты символов строки.

Параметры

value:String — Записываемое значение строки.


Выдает
RangeError — Если длина превышает 65535.
writeUTFBytes()метод 
public function writeUTFBytes(value:String):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Записывает строку UTF-8. Аналогично writeUTF(), но строке не предшествует 16-разрядное слово, указывающее длину.

Параметры

value:String — Записываемое значение строки.

Примеры Как пользоваться примерами
DataOutputExample.as

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

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

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