| 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):voidPowią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):voidPowią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)
falsew 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