Pakiet | flash.utils |
Interfejs | public interface IDataOutput |
Implementory | ByteArray, FileStream, Socket |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wszystkie operacje IDataInput i IDataOutput są domyślnie operacjami „bigEndian” (najważniejszy bajt w sekwencji jest zapisywany na najniższej lub pierwszej pozycji adresu) i nie powodują blokowania.
Rozszerzenie znakowe ma znaczenie tylko podczas odczytu danych, a nie zapisu. Dlatego nie są wymagane osobne metody zapisu współpracujące z metodami IDataInput.readUnsignedByte()
i IDataInput.readUnsignedShort()
. Innymi słowy:
- Należy używać metody
IDataOutput.writeByte()
z metodamiIDataInput.readUnsignedByte()
iIDataInput.readByte()
. - Należy używać metody
IDataOutput.writeShort()
z metodamiIDataInput.readUnsignedShort()
iIDataInput.readShort()
.
Powiązane elementy interfejsu API
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
endian : String
Porządek bajtów, określony za pomocą stałej BIG_ENDIAN lub LITTLE_ENDIAN z klasy Endian. | IDataOutput | ||
objectEncoding : uint
Używana do określania, który z formatów (AMF3 lub AMF0) zostanie użyty podczas zapisywania lub odczytywania danych binarnych za pomocą metody writeObject(). | IDataOutput |
Metoda | Zdefiniowane przez | ||
---|---|---|---|
Zapisuje wartość typu Boolean. | IDataOutput | ||
Zapisuje bajt. | IDataOutput | ||
Zapisuje sekwencję bajtów z określonej tablicy bajtowej bytes, rozpoczynając od bajta określanego przez parametr offset (indeksowanego od zera) o długości określonej w parametrze length do strumienia pliku, strumienia bajtów lub tablicy bajtowej. | IDataOutput | ||
Zapisuje liczbę zmiennoprzecinkową o podwójnej precyzji (64 bity, IEEE 754). | IDataOutput | ||
Zapisuje liczbę zmiennoprzecinkową o pojedynczej precyzji (32 bity, IEEE 754). | IDataOutput | ||
Zapisuje 32-bitową liczbę całkowitą ze znakiem. | IDataOutput | ||
Zapisuje wielobajtowy ciąg znaków do strumienia pliku, strumienia bajtów lub tablicy bajtowej, przy użyciu określonego zestawu znaków. | IDataOutput | ||
Zapisuje w strumieniu pliku, strumieniu bajtów lub w tablicy bajtów obiekt zakodowany w formacie serializowanym AMF. | IDataOutput | ||
Zapisuje 16-bitową liczbę całkowitą. | IDataOutput | ||
Zapisuje 32-bitową liczbę całkowitą bez znaku. | IDataOutput | ||
Zapisuje do strumienia pliku, strumienia bajtów lub tablicy bajtów ciąg znaków UTF-8. | IDataOutput | ||
Zapisuje ciąg znaków UTF-8. | IDataOutput |
endian | właściwość |
endian:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Porządek bajtów, określony za pomocą stałej BIG_ENDIAN
lub LITTLE_ENDIAN
z klasy Endian.
Implementacja
public function get endian():String
public function set endian(value:String):void
Powiązane elementy interfejsu API
objectEncoding | właściwość |
objectEncoding:uint
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Używana do określania, który z formatów (AMF3 lub AMF0) zostanie użyty podczas zapisywania lub odczytywania danych binarnych za pomocą metody writeObject()
. Wartość jest stałą z klasy ObjectEncoding.
Implementacja
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Powiązane elementy interfejsu API
writeBoolean | () | metoda |
public function writeBoolean(value:Boolean):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje wartość typu Boolean. Zapisany zostanie pojedynczy bajt zgodnie z parametrem value
— 1 dla true
lub 0 dla false
.
Parametry
value:Boolean — Wartość typu Boolean, która określa zapisywany bajt. Jeśli parametr ma wartość true , zapisywana jest wartość 1; jeśli ma wartość false — zapisywana jest wartość 0.
|
writeByte | () | metoda |
public function writeByte(value:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje bajt. Używanych jest 8 najmniej znaczących bitów parametru; bardziej znaczące 24 bitów jest ignorowane.
Parametry
value:int — Wartość bajtu jako liczba całkowita.
|
writeBytes | () | metoda |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje sekwencję bajtów z określonej tablicy bajtowej bytes
, rozpoczynając od bajta określanego przez parametr offset
(indeksowanego od zera) o długości określonej w parametrze length
do strumienia pliku, strumienia bajtów lub tablicy bajtowej.
Jeśli parametr length
został pominięty, używana jest domyślna długość 0 i zapisywany jest cały bufor począwszy od miejsca określonego parametrem offset
. Jeśli parametr offset
również został pominięty, zapisany zostanie cały bufor.
Jeśli wartość parametru offset
lub length
jest poza zakresem, parametry zostaną ograniczone do początku i końca tablicy bytes
.
Parametry
bytes:ByteArray — Tablica bajtów do zapisania.
| |
offset:uint (default = 0 ) — Indeks zliczany od zera, który wskazuje pozycję w tablicy, od której rozpocznie się zapisywanie.
| |
length:uint (default = 0 ) — Wartość całkowita bez znaku, która wskazuje odległość, do jakiej zostanie zapisany bufor.
|
writeDouble | () | metoda |
public function writeDouble(value:Number):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje liczbę zmiennoprzecinkową o podwójnej precyzji (64 bity) wg normy IEEE 754.
Parametry
value:Number — Liczba zmiennoprzecinkowa o podwójnej precyzji (64-bitowa).
|
writeFloat | () | metoda |
public function writeFloat(value:Number):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje liczbę zmiennoprzecinkową o pojedynczej precyzji (32 bity) wg normy IEEE 754.
Parametry
value:Number — Liczba zmiennoprzecinkowa o pojedynczej precyzji (32-bitowa).
|
writeInt | () | metoda |
writeMultiByte | () | metoda |
public function writeMultiByte(value:String, charSet:String):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje wielobajtowy ciąg do strumienia pliku, strumienia bajtów lub tablicy bajtowej przy użyciu określonego zestawu znaków.
Parametry
value:String — Wartość ciągu znaków przeznaczona do zapisu.
| |
charSet:String — Ciąg znaków oznaczający zestaw znaków, który ma być używany. Dozwolone zestawy znaków to: „shift-jis” , „cn-gb” , „iso-8859-1” i inne. Pełną listę zawiera sekcja Obsługiwane zestawy znaków.
|
writeObject | () | metoda |
public function writeObject(object:*):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje w strumieniu pliku, strumieniu bajtów lub w tablicy bajtów obiekt zakodowany w formacie serializowanym AMF.
Parametry
object:* — Obiekt, który ma być serializowany.
|
Powiązane elementy interfejsu API
writeShort | () | metoda |
public function writeShort(value:int):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje 16-bitową liczbę całkowitą. Używanych jest 16 najmniej znaczących bitów parametru; bardziej znaczące 16 bitów jest ignorowane.
Parametry
value:int — Wartość bajtu jako liczba całkowita.
|
writeUnsignedInt | () | metoda |
writeUTF | () | metoda |
public function writeUTF(value:String):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje do strumienia pliku, strumienia bajtów lub tablicy bajtów ciąg znaków UTF-8. Długość ciągu znaków UTF-8 w bajtach jest zapisywana na początku jako 16-bitowa wartość integer, a po niej następują bajty reprezentujące znaki ciągu znaków.
Parametry
value:String — Wartość ciągu znaków przeznaczona do zapisu.
|
Zgłasza
RangeError — Jeśli długość jest większa niż 65535.
|
writeUTFBytes | () | metoda |
public function writeUTFBytes(value:String):void
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zapisuje ciąg znaków UTF-8. Podobnie, jak writeUTF()
, ale nie umieszcza przed ciągiem znaków przedrostka w postaci słowa zawierającego 16 bitów.
Parametry
value:String — Wartość ciągu znaków przeznaczona do zapisu.
|
DataOutputExample
w celu zapisania wartości typu boolean oraz zmiennoprzecinkowej (o podwójnej precyzji) reprezentacji liczby pi w tablicy bajtów. W tym celu należy wykonać następujące czynności:
- Zadeklaruj nową instancję obiektu ByteArray:
byteArr
. - Zapisz wartość (typu Boolean)
false
w postaci równoważnika bajtowego oraz zmiennoprzecinkowy równoważnik (o podwójnej dokładności) matematycznej wartości liczby pi. - Odczytaj wstecz wartość typu Boolean i zmiennoprzecinkową liczbę o podwójnej precyzji.
Na końcu został dodany segment kodu — sprawdź zakończenie błędów pliku, aby upewnić się, że strumień bajtów nie został odczytany poza koniec.
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, 12:06 PM Z