Paket | flash.utils |
Gränssnitt | public interface IDataInput |
Implementorer | ByteArray, FileStream, Socket, URLStream |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Alla IDataInput- och IDataOutput-åtgärder är som standard "bigEndian" (den viktigaste byten i sekvensen lagras på den lägsta eller första lagringsadressen), och är inte blockerande. Om det finns för lite tillgängliga data utlöses ett EOFError
-undantag. Använd egenskapen IDataInput.bytesAvailable
för att fastställa hur mycket data som kan läsas.
Teckenförlängning gäller bara när du läser data, inte när du skriver dem. Därför behöver du inte olika skrivmetoder när du arbetar med IDataInput.readUnsignedByte()
och IDataInput.readUnsignedShort()
. Med andra ord:
- Använd
IDataOutput.writeByte()
medIDataInput.readUnsignedByte()
ochIDataInput.readByte()
. - Använd
IDataOutput.writeShort()
medIDataInput.readUnsignedShort()
ochIDataInput.readShort()
.
Relaterade API-element
endian
Klassen FileStream
Klassen Socket
Klassen URLStream
Klassen ByteArray
Klassen EOFError
Egenskap | Definieras med | ||
---|---|---|---|
bytesAvailable : uint [skrivskyddad]
Returnerar antalet databyte som kan läsas i indatabufferten. | IDataInput | ||
endian : String
Byteordning för data, antingen konstanten BIG_ENDIAN eller LITTLE_ENDIAN från klassen Endian. | IDataInput | ||
objectEncoding : uint
Används för att avgöra om formatet AMF3 eller AMF0 används vid skrivning till eller läsning av binärdata med readObject()-metoden. | IDataInput |
Metod | Definieras med | ||
---|---|---|---|
Läser ett booleskt värde från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser en signerad byte med tecken från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser så många databyte som anges av parametern length från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser ett IEEE 754-flyttal med dubbel precision från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser ett IEEE 754-flyttal med enkel precision från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser ett signerat 32-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Skriver en multibyte-sträng med den angivna längden från filströmmen, byteströmmen eller bytearrayen med den angivna teckenuppsättningen. | IDataInput | ||
readObject():*
Läser ett objekt till filflödet, byteflödet eller bytearrayen kodat i serialiserat AMF-format. | IDataInput | ||
Läser ett signerat 16-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser en osignerad byte med tecken från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser ett osignerat 32-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser ett osignerat 16-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser en UTF-8-sträng från filflödet, byteflödet eller bytearrayen. | IDataInput | ||
Läser en sekvens UTF-8-byte från byteflödet eller bytearrayen och returnerar en sträng. | IDataInput |
bytesAvailable | egenskap |
bytesAvailable:uint
[skrivskyddad] Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar antalet databyte som kan läsas i indatabufferten. Användarens kod måste anropa bytesAvailable
för att säkerställa att det finns tillräckligt mycket data innan det görs något läsförsök med andra läsmetoder.
Implementering
public function get bytesAvailable():uint
endian | egenskap |
endian:String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Byteordning för data, antingen konstanten BIG_ENDIAN
eller LITTLE_ENDIAN
från klassen Endian.
Implementering
public function get endian():String
public function set endian(value:String):void
Relaterade API-element
objectEncoding | egenskap |
objectEncoding:uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Används för att avgöra om formatet AMF3 eller AMF0 används vid skrivning till eller läsning av binärdata med readObject()
-metoden. Det här värdet är en konstant från ObjectEncoding-klassen.
Implementering
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Relaterade API-element
readBoolean | () | metod |
public function readBoolean():Boolean
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett booleskt värde från filflödet, byteflödet eller bytearrayen. En enkel byte läses och true
returneras om bytevärdet inte är noll, i annat fall false
.
Boolean — Ett booleskt värde true om bytevärdet inte är noll, i annat fall false .
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readByte | () | metod |
public function readByte():int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en signerad byte med tecken från filflödet, byteflödet eller bytearrayen.
Returnerarint — Det returnerade värdet är i intervallet -128 till 127.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readBytes | () | metod |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser så många databyte som anges av parametern length
från filflödet, byteflödet eller bytearrayen. Bytena läses till det ByteArray-objekt som anges av parametern bytes
med start vid den position som anges av offset
.
Parametrar
bytes:ByteArray — ByteArray -objektet som data ska läsas till.
| |
offset:uint (default = 0 ) — Förskjutningen i parametern bytes där dataläsningen ska börja.
| |
length:uint (default = 0 ) — Antalet byte som ska läsas. Med standardvärdet 0 läses alla tillgängliga data.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readDouble | () | metod |
public function readDouble():Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett IEEE 754-flyttal med dubbel precision från filflödet, byteflödet eller bytearrayen.
ReturnerarNumber — Ett IEEE 754-flyttal med dubbel precision.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readFloat | () | metod |
public function readFloat():Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett IEEE 754-flyttal med enkel precision från filflödet, byteflödet eller bytearrayen.
ReturnerarNumber — Ett IEEE 754-flyttal med enkel precision.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readInt | () | metod |
public function readInt():int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett signerat 32-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen.
Returnerarint — Det returnerade värdet är i intervallet -2147483648 till 2147483647.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readMultiByte | () | metod |
public function readMultiByte(length:uint, charSet:String):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skriver en multibyte-sträng med den angivna längden från filströmmen, byteströmmen eller bytearrayen med den angivna teckenuppsättningen.
Parametrar
length:uint — Antalet byte från byteflödet som ska läsas.
| |
charSet:String — Strängen som anger teckenuppsättningen som ska användas för att tolka byte. Möjliga teckenuppsättningsträngar är "shift-jis" , "cn-gb" , "iso-8859-1" med flera. En fullständig lista finns i Teckenuppsättningar som stöds.
Obs! Om värdet för parametern |
String — UTF-8-kodad sträng.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readObject | () | metod |
public function readObject():*
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett objekt till filflödet, byteflödet eller bytearrayen kodat i serialiserat AMF-format.
Returnerar* — Det avserialiserade objektet.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
Relaterade API-element
readShort | () | metod |
public function readShort():int
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett signerat 16-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen.
Returnerarint — Det returnerade värdet är i intervallet -32768 till 32767.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUnsignedByte | () | metod |
public function readUnsignedByte():uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en osignerad byte med tecken från filflödet, byteflödet eller bytearrayen.
Returneraruint — Det returnerade värdet är i intervallet 0 till 255.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUnsignedInt | () | metod |
public function readUnsignedInt():uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett osignerat 32-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen.
Returneraruint — Det returnerade värdet är i intervallet 0 till 4294967295.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUnsignedShort | () | metod |
public function readUnsignedShort():uint
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser ett osignerat 16-bitars heltal med tecken från filflödet, byteflödet eller bytearrayen.
Returneraruint — Det returnerade värdet är i intervallet 0 till 65535.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUTF | () | metod |
public function readUTF():String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en UTF-8-sträng från filflödet, byteflödet eller bytearrayen. Strängen antas inledas av typen short utan tecken som visar längden i byte.
Den här metoden liknar metoden readUTF()
i Java® IDataInput-gränssnittet.
String — En UTF-8-sträng som skapats av byteåtergivningen av tecken.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
readUTFBytes | () | metod |
public function readUTFBytes(length:uint):String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Läser en sekvens UTF-8-byte från byteflödet eller bytearrayen och returnerar en sträng.
Parametrar
length:uint — Antalet byte som ska läsas.
|
String — En UTF-8-sträng som har skapats av byteåtergivningen av tecken av angiven längd.
|
Utlöser
EOFError — Det finns inte tillräckligt med data att läsa.
|
DataInputExample
-klassen för att skriva ett booleskt värde och motsvarigheten i flyttal med dubbelprecision av pi till en bytearray. Detta visas i följande steg:
- Deklarera en ny ByteArray-objektinstans
byteArr
. - Skriv motsvarigheten i byte av det booleska värdet
false
och motsvarigheten i flyttal med dubbel precision av det matematiska värdet av pi. - Läs tillbaka det booleska värdet och flyttalet med dubbel precision.
Lägg märke till att ett kodsegment läggs till i slutet för att bevaka fel vid filslut och se till att byteflödet inte läses förbi slutet av filen.
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, 01:40 PM Z