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():uint
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 readObject()
. Wartość jest stałą z klasy ObjectEncoding.
Implementacja
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Powią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)
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 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