ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: Pobieranie danych z serwera...
Pobieranie danych z serwera...
flash.utils 

IDataInput  - AS3

Pakietflash.utils
Interfejspublic 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

Interfejs IDataInput zapewnia zestaw metod do czytania danych binarnych. Interfejs jest odpowiednikiem we/wy interfejsu IDataOutput, który zapisuje dane binarne.

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 metodami IDataInput.readUnsignedByte() i IDataInput.readByte().
  • Należy używać metody IDataOutput.writeShort() z metodami IDataInput.readUnsignedShort() i IDataInput.readShort().

Wyświetl przykłady

Powiązane elementy interfejsu API



Właściwości publiczne
 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
Metody publiczne
 MetodaZdefiniowane 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
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
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
  
readMultiByte(length:uint, charSet:String):String
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
  
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
Szczegół właściwości

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

Szczegół metody

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.

Zwraca
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.

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 — 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.

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 charSet nie zostanie rozpoznana przez bieżący system, program Adobe® Flash® Player lub środowisko Adobe® AIR® jako zestaw znaków przyjmuje domyślną stronę kodową systemu. Na przykład: wartość parametru charSet, taka jak myTest.readMultiByte(22, "iso-8859-01"), w której użyto 01 zamiast 1 może działać w jednym systemie, ale niekoniecznie w innym. W innym systemie program Flash Player lub środowisko AIR wybierze domyślną stronę kodową systemu.

Zwraca
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.

Zwraca
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.

Zwraca
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.as

W poniższym przykładzie zastosowano klasę 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:
  1. Zadeklaruj nową instancję obiektu ByteArray: byteArr.
  2. 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.
  3. 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.
            }
        }
    }
}




[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.