| 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):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 Booleantrue, jeśli bajt jest niezerowy; w przeciwnym wypadkufalse. | 
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.
Zwraca| int— 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— ObiektByteArray, do którego nastąpi odczyt danych. | |
| offset:uint(default =0)— Przesunięcie do parametrubytes, 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.
Zwraca| Number— 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).
Zwraca| Number— 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.
Zwraca| int— 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.
Zwraca| int— 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.
Zwraca| uint— 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.
Zwraca| uint— 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.
Zwraca| uint— 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