| Pakiet | flash.utils |
| Interfejs | public interface IDataInput |
| Implementory | ByteArray, FileStream, Socket, URLStream |
| 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. Jeśli nie jest dostępna dostateczna ilość danych, zgłaszany jest wyjątek EOFError. W celu określenia ilości danych dostępnych do odczytu należy użyć właściwości IDataInput.bytesAvailable.
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 | ||
|---|---|---|---|
| bytesAvailable : uint [tylko do odczytu]
Zwraca liczbę bajtów, które można odczytać z bufora wejściowego. | IDataInput | ||
| endian : String
Porządek bajtów, określony za pomocą stałej BIG_ENDIAN lub LITTLE_ENDIAN z klasy Endian. | IDataInput | ||
| 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 readObject(). | IDataInput | ||
| Metoda | Zdefiniowane przez | ||
|---|---|---|---|
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów wartość typu Boolean. | IDataInput | ||
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów bajt ze znakiem. | IDataInput | ||
Pozwala odczytać ze strumienia pliku, strumienia bajtów lub z tablicy bajtów liczbę bajtów określoną przez parametr length. | IDataInput | ||
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów liczbę zmiennoprzecinkową o podwójnej dokładności (IEEE 754). | IDataInput | ||
Czyta liczbę zmiennoprzecinkową o zwykłej dokładności (wg normy IEEE 754) ze strumienia pliu, ze strumienia bajtów lub z tablicy bajtów. | IDataInput | ||
Czyta 32-bitową liczbę całkowitą ze znakiem ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów. | IDataInput | ||
Czyta wielobajtowy ciąg znaków o określonej długości ze strumienia pliku, strumienia bajtów lub tablicy bajtowej, przy użyciu określonego zestawu znaków. | IDataInput | ||
readObject():*
Czyta obiekt zakodowany w formacie serializowanym AMF ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów. | IDataInput | ||
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów 16-bitową liczbę całkowitą ze znakiem. | IDataInput | ||
Czyta ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów bajt bez znaku. | IDataInput | ||
Czyta ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów 32-bitową liczbę całkowitą bez znaku. | IDataInput | ||
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów 16-bitową liczbę całkowitą bez znaku. | IDataInput | ||
Czyta ze strumienia pliku, strumienia bajtów lub tablicy bajtów ciąg znaków UTF-8. | IDataInput | ||
Czyta ze strumienia bajtów lub tablicy bajtów sekwencję bajtów (liczba bajtów jest równa)) UTF-8 i zwraca ciąg znaków. | IDataInput | ||
bytesAvailable | właściwość |
bytesAvailable:uint [tylko do odczytu] | Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Zwraca liczbę bajtów, które można odczytać z bufora wejściowego. Kod użytkownika musi wywołać właściwość bytesAvailable, aby upewnić się, że dostępna jest wystarczająca ilość danych, zanim nastąpi próba ich odczytania za pomocą jednej z metod read.
Implementacja
public function get bytesAvailable():uintendian | 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 readObject(). Wartość jest stałą z klasy ObjectEncoding.
Implementacja
public function get objectEncoding():uint public function set objectEncoding(value:uint):voidPowiązane elementy interfejsu API
readBoolean | () | metoda |
public function readBoolean():Boolean| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów wartość typu Boolean. Po odczytaniu jednego bajta metoda zwraca true, jeśli bajt jest wartością niezerową; w przeciwnym wypadku false.
Boolean — Wartość typu Boolean true, jeśli bajt jest niezerowy; w przeciwnym wypadku false.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readByte | () | metoda |
public function readByte():int| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta bajt ze znakiem ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów.
Zwracaint — Zwrócona wartość należy do zakresu od -128 do 127.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readBytes | () | metoda |
public function readBytes(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 |
Pozwala odczytać ze strumienia pliku, strumienia bajtów lub z tablicy bajtów liczbę bajtów określoną przez parametr length. Bajty są odczytywane do obiektu ByteArray określonego przez parametr bytes, a odczyt rozpoczyna się w miejscu określonym przez parametr offset.
Parametry
bytes:ByteArray — Obiekt ByteArray, do którego nastąpi odczyt danych.
| |
offset:uint (default = 0) — Przesunięcie do parametru bytes, przy którym powinien się rozpocząć odczyt danych.
| |
length:uint (default = 0) — Liczba bajtów do odczytania. Domyślna wartość 0 powoduje odczyt wszystkich dostępnych danych.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readDouble | () | metoda |
public function readDouble():Number| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta liczbę zmiennoprzecinkową o podwójnej dokładności (wg normy IEEE 754) ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów.
ZwracaNumber — Liczba zmiennoprzecinkowa o podwójnej precyzji (IEEE 754).
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readFloat | () | metoda |
public function readFloat():Number| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliu, strumienia bajtów lub z tablicy bajtów liczbę zmiennoprzecinkową o zwykłej dokładności (IEEE 754).
ZwracaNumber — Liczba zmiennoprzecinkowa o pojedynczej precyzji (IEEE 754).
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readInt | () | metoda |
public function readInt():int| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów 32-bitową liczbę całkowitą ze znakiem.
Zwracaint — Zwrócona wartość należy do zakresu od -2147483648 do 2147483647.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readMultiByte | () | metoda |
public function readMultiByte(length:uint, charSet:String):String| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta wielobajtowy ciąg o określonej długości ze strumienia pliku, strumienia bajtów lub tablicy bajtowej przy użyciu określonego zestawu znaków.
Parametry
length:uint — Ilość bajtów do odczytu ze strumienia bajtów.
| |
charSet:String — Ciąg znaków oznaczający zestaw znaków, który ma być używany do interpretacji bajtów. Dozwolone zestawy znaków to: „shift-jis”, „cn-gb”, „iso-8859-1” i inne. Pełną listę zawiera sekcja Obsługiwane zestawy znaków.
Uwaga: Jeśli wartość parametru |
String — Ciąg znaków kodowany systemem UTF-8.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readObject | () | metoda |
public function readObject():*| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliku, strumienia bajtów lub tablicy bajtów obiekt zakodowany w formacie serializowanym AMF.
Zwraca* — Obiekt w postaci innej niż serializowana
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
Powiązane elementy interfejsu API
readShort | () | metoda |
public function readShort():int| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta 16-bitową liczbę całkowitą ze znakiem ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów.
Zwracaint — Zwrócona wartość należy do zakresu od –32768 do 32767.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readUnsignedByte | () | metoda |
public function readUnsignedByte():uint| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów bajt bez znaku.
Zwracauint — Zwrócona wartość należy do zakresu od 0 do 255.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readUnsignedInt | () | metoda |
public function readUnsignedInt():uint| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliku, strumienia bajtów lub z tablicy bajtów 32-bitową liczbę całkowitą bez znaku.
Zwracauint — Zwrócona wartość należy do zakresu od 0 do 4294967295.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readUnsignedShort | () | metoda |
public function readUnsignedShort():uint| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliku, ze strumienia bajtów lub z tablicy bajtów 16-bitową liczbę całkowitą bez znaku.
Zwracauint — Zwrócona wartość należy do zakresu od 0 do 65535.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readUTF | () | metoda |
public function readUTF():String| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia pliku, strumienia bajtów lub tablicy bajtów ciąg znaków UTF-8. Zakłada się, że ciąg jest poprzedzony prefiksem w postaci liczby typu short bez znaku, która określa długość ciągu w bajtach.
Ta metoda działa podobnie jak metoda readUTF() w interfejsie Java® IDataInput.
String — Ciąg znaków UTF-8 wygenerowany przez bajtową reprezentację znaków.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
readUTFBytes | () | metoda |
public function readUTFBytes(length:uint):String| Wersja języka: | ActionScript 3.0 |
| Wersje środowiska wykonawczego: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Czyta ze strumienia bajtów lub tablicy bajtów sekwencję bajtów UTF-8 i zwraca ciąg.
Parametry
length:uint — Liczba bajtów do odczytania.
|
String — Ciąg znaków UTF-8 wygenerowany przez bajtową reprezentację znaków o określonej długości.
|
Zgłasza
EOFError — Brak wystarczającej ilości danych do odczytania.
|
DataInputExample 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 DataInputExample extends Sprite {
public function DataInputExample() {
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