Pakket | flash.utils |
Interface | public interface IDataOutput |
Geïmplementeerd door | ByteArray, FileStream, Socket |
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Alle IDataInput- en IDataOutput-bewerkingen zijn standaard 'bigEndian' (de meest significante byte in de reeks is opgeslagen op het laagste of eerste opslagadres) en zijn niet-blokkerend.
Tekenuitbreiding is alleen van belang als u gegevens leest, niet als u schrijft. Daarom hebt u geen aparte schrijfmethoden nodig om met IDataInput.readUnsignedByte()
en IDataInput.readUnsignedShort()
te werken. Met andere woorden:
- Gebruik
IDataOutput.writeByte()
metIDataInput.readUnsignedByte()
enIDataInput.readByte()
. - Gebruik
IDataOutput.writeShort()
metIDataInput.readUnsignedShort()
enIDataInput.readShort()
.
Verwante API-elementen
Eigenschap | Gedefinieerd door | ||
---|---|---|---|
endian : String
De bytevolgorde voor de gegevens, de constante BIG_ENDIAN of LITTLE_ENDIAN uit de klasse Endian. | IDataOutput | ||
objectEncoding : uint
Wordt gebruikt om vast te stellen of de indeling AMF3 of AMF0 wordt gebruikt bij het lezen of schrijven van binaire gegevens met de methode writeObject(). | IDataOutput |
Methode | Gedefinieerd door | ||
---|---|---|---|
Schrijft een booleaanse waarde. | IDataOutput | ||
Schrijft een byte. | IDataOutput | ||
Schrijft een reeks van bytes vanuit de opgegeven bytearray bytes, te beginnen op de byte die is opgegeven met offset (met een op nul gebaseerde indexwaarde) met een lengte die is opgegeven met length, naar de bestandsstream, bytestream of bytearray. | IDataOutput | ||
Schrijft een IEEE 754 drijvende-kommagetal (64-bits) met dubbele precisie. | IDataOutput | ||
Schrijft een IEEE 754 drijvende-kommagetal (32-bits) met enkele precisie. | IDataOutput | ||
Schrijft een 32-bits geheel getal met teken. | IDataOutput | ||
Schrijft een multibyte-tekenreeks naar de bestandsstream, bytestream of byte-array met de opgegeven tekenset. | IDataOutput | ||
Schrijft een object dat in AMF-indeling met serienummering is gecodeerd, naar de bestandsstream, bytestream of bytearray. | IDataOutput | ||
Schrijft een 16-bits geheel getal. | IDataOutput | ||
Schrijft een 32-bits geheel getal zonder teken. | IDataOutput | ||
Schrijft een UTF-8-tekenreeks naar de bestandsstream, bytestream of byte-array. | IDataOutput | ||
Schrijft een UTF-8-tekenreeks. | IDataOutput |
endian | eigenschap |
endian:String
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
De bytevolgorde voor de gegevens, de constante BIG_ENDIAN
of LITTLE_ENDIAN
uit de klasse Endian.
Implementatie
public function get endian():String
public function set endian(value:String):void
Verwante API-elementen
objectEncoding | eigenschap |
objectEncoding:uint
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wordt gebruikt om vast te stellen of de indeling AMF3 of AMF0 wordt gebruikt bij het lezen of schrijven van binaire gegevens met de methode writeObject()
. De waarde is een constante van de klasse ObjectEncoding.
Implementatie
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Verwante API-elementen
writeBoolean | () | methode |
public function writeBoolean(value:Boolean):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schrijft een booleaanse waarde. Er wordt volgens de parameter value
één byte geschreven, 1 indien true
of 0 indien false
.
Parameters
value:Boolean — Een booleaanse waarde die bepaalt welke byte wordt geschreven. Als de parameter true is, wordt 1 geschreven; als de parameter false , wordt 0 geschreven.
|
writeByte | () | methode |
writeBytes | () | methode |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schrijft een reeks van bytes vanuit de opgegeven bytearray bytes
, te beginnen op de byte die is opgegeven met offset
(met een op nul gebaseerde indexwaarde) met een lengte die is opgegeven met length
, naar de bestandsstream, bytestream of bytearray.
Wanneer de parameter length
wordt weggelaten, wordt de standaardlengte 0 gebruikt en wordt de gehele buffer geschreven, beginnend bij offset
. Wanneer de parameter offset
ook wordt weggelaten, wordt de gehele buffer geschreven.
Wanneer de parameter offset
of length
zich buiten het bereik bevindt, worden ze vastgeklemd aan het begin en het einde van de array bytes
.
Parameters
bytes:ByteArray — De bytearray die moet worden geschreven.
| |
offset:uint (default = 0 ) — Een op nul gebaseerde index die de positie in de array opgeeft waar met schrijven moet worden begonnen.
| |
length:uint (default = 0 ) — Een geheel getal zonder teken dat aangeeft tot hoever in de buffer moet worden geschreven.
|
writeDouble | () | methode |
writeFloat | () | methode |
writeInt | () | methode |
writeMultiByte | () | methode |
public function writeMultiByte(value:String, charSet:String):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schrijft een multibyte-tekenreeks naar de bestandsstream, bytestream of byte-array met de opgegeven tekenset.
Parameters
value:String — De tekenreekswaarde die moet worden geschreven.
| |
charSet:String — De tekenreeks die de tekenset aangeeft die moet worden gebruikt. Mogelijke tekensetreeksen zijn onder andere shift-jis , cn-gb , iso-8859-1 en andere. Zie Ondersteunde tekensets voor een complete lijst.
|
writeObject | () | methode |
public function writeObject(object:*):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schrijft een object dat in AMF-indeling met serienummering is gecodeerd, naar de bestandsstream, bytestream of bytearray.
Parameters
object:* — Het object waarop serienummering moet worden toegepast.
|
Verwante API-elementen
writeShort | () | methode |
public function writeShort(value:int):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schrijft een 16-bits geheel getal. De lage 16 bits van de parameter worden gebruikt, de hoge 16 bits worden genegeerd.
Parameters
value:int — De waarde van een byte als geheel getal.
|
writeUnsignedInt | () | methode |
writeUTF | () | methode |
public function writeUTF(value:String):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schrijft een UTF-8-tekenreeks naar de bestandsstream, bytestream of byte-array. De lengte van de UTF-8-tekenreeks in bytes wordt eerst als een 16-bits geheel getal geschreven en wordt gevolgd door de bytes die de tekens van de tekenreeks vertegenwoordigen.
Parameters
value:String — De tekenreekswaarde die moet worden geschreven.
|
Gegenereerde uitzondering
RangeError — Wanneer de lengte groter is dan 65535.
|
writeUTFBytes | () | methode |
public function writeUTFBytes(value:String):void
Taalversie: | ActionScript 3.0 |
Runtimeversies: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schrijft een UTF-8-tekenreeks. Vergelijkbaar met writeUTF()
, maar voegt geen 16-bits woord als voorvoegsel toe aan de tekenreeks.
Parameters
value:String — De tekenreekswaarde die moet worden geschreven.
|
DataOutputExample
gebruikt om een booleaanse waarde en een drijvende-kommagetal met dubbele precisie-representatie van pi naar een bytearray te schrijven. Hierbij moeten de volgende stappen worden uitgevoerd:
- Declareer een nieuwe ByteArray-objectinstantie
byteArr
. - Schrijf de waarde van de booleaanse waarde
false
in bytes en de wiskundige waarde van pi in een drijvende-kommagetal met dubbele precisie. - Lees de booleaanse waarde en het drijvende-kommagetal met dubbele precisie nogmaals.
Aan het eind is een codesegment toegevoegd om op bestandseindefouten te controleren en te zorgen dat de bytestream niet voorbij het einde wordt gelezen.
package { import flash.display.Sprite; import flash.utils.ByteArray; import flash.errors.EOFError; public class DataOutputExample extends Sprite { public function DataOutputExample() { 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. } } } }
Wed Jun 13 2018, 11:42 AM Z