Paket | flash.utils |
Schnittstelle | public interface IDataOutput |
Umsetzer | ByteArray, FileStream, Socket |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Alle IDataInput- und IDataOutput-Vorgänge erfolgen in der Standardeinstellung im Format „bigEndian“ (das höchstwertige Byte der Folge wird an der niedrigsten bzw. ersten Speicheradresse gespeichert) und ungeblockt.
Vorzeichenerweiterung ist nur beim Lesen von Daten relevant, jedoch nicht beim Schreiben. Sie benötigen deshalb keine unterschiedlichen Schreibmethoden für die Datentypen IDataInput.readUnsignedByte()
und IDataInput.readUnsignedShort()
. Dies bedeutet:
- Verwenden Sie
IDataOutput.writeByte()
mitIDataInput.readUnsignedByte()
undIDataInput.readByte()
. - Verwenden Sie
IDataOutput.writeShort()
mitIDataInput.readUnsignedShort()
undIDataInput.readShort()
.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
endian : String
Die Bytereihenfolge der Daten. Entweder die Konstante BIG_ENDIAN oder LITTLE_ENDIAN der Endian-Klasse. | IDataOutput | ||
objectEncoding : uint
Wird verwendet, um festzustellen, ob das Format AMF3 oder AMF0 verwendet wird, wenn binäre Daten mit der writeObject()-Methode geschrieben oder gelesen werden. | IDataOutput |
Methode | Definiert von | ||
---|---|---|---|
Schreibt einen booleschen Wert. | IDataOutput | ||
Schreibt ein Byte. | IDataOutput | ||
Schreibt eine Bytesequenz vom angegebenen Byte-Array in den Dateistream, Bytestream oder das Byte-Array, beginnend mit dem durch „offset“ festgelegten Byte (unter Verwendung einer auf null basierenden Indexposition) mit einer durch „length“ festgelegten Länge. | IDataOutput | ||
Schreibt eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit (64 Bit). | IDataOutput | ||
Schreibt eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit (32 Bit). | IDataOutput | ||
Schreibt eine vorzeichenbehaftete 32-Bit-Ganzzahl. | IDataOutput | ||
Schreibt einen Multibyte-String unter Verwendung des angegebenen Zeichensatzes in den Dateistream, Bytestream oder Byte-Array. | IDataOutput | ||
Schreibt ein Objekt im serialisierten AMF-Format in den Dateistream, Bytestream oder Byte-Array. | IDataOutput | ||
Schreibt eine 16-Bit-Ganzzahl. | IDataOutput | ||
Schreibt eine vorzeichenlose 32-Bit-Ganzzahl. | IDataOutput | ||
Schreibt einen UTF-8-String in den Dateistream, Bytestream oder Byte-Array. | IDataOutput | ||
Schreibt einen UTF-8-String. | IDataOutput |
endian | Eigenschaft |
endian:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Die Bytereihenfolge der Daten. Entweder die Konstante BIG_ENDIAN
oder LITTLE_ENDIAN
der Endian-Klasse.
Implementierung
public function get endian():String
public function set endian(value:String):void
Verwandte API-Elemente
objectEncoding | Eigenschaft |
objectEncoding:uint
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird verwendet, um festzustellen, ob das Format AMF3 oder AMF0 verwendet wird, wenn binäre Daten mit der writeObject()
-Methode geschrieben oder gelesen werden. Der Wert ist eine Konstante der ObjectEncoding-Klasse.
Implementierung
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Verwandte API-Elemente
writeBoolean | () | Methode |
public function writeBoolean(value:Boolean):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schreibt einen booleschen Wert. Entsprechend dem Parameter value
wird ein einzelnes Byte geschrieben: 1, wenn der Wert true
ist oder 0, wenn der Wert false
ist.
Parameter
value:Boolean — Ein boolescher Wert, der angibt, welches Byte geschrieben wird. Hat der Parameter den Wert true , wird 1 geschrieben; bei false wird 0 geschrieben.
|
writeByte | () | Methode |
writeBytes | () | Methode |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schreibt eine Byte
-Sequenz vom angegebenen Bytearray in den Dateistream, Bytestream oder das Bytearray, beginnend mit dem durch offset
festgelegten Byte (unter Verwendung einer auf null basierenden Indexposition) mit einer durch length
festgelegten Länge.
Wird der Parameter length
weggelassen, wird die Standardlänge 0 verwendet und der gesamte Puffer wird ab der Position offset
geschrieben. Wird auch der Parameter offset
weggelassen, so wird der gesamte Pufferinhalt geschrieben.
Wenn sich die Parameter offset
bzw. length
außerhalb des gültigen Bereichs befinden, werden sie auf den Anfang bzw. auf das Ende des bytes
-Array gesetzt.
Parameter
bytes:ByteArray — Das zu schreibende Byte-Array.
| |
offset:uint (default = 0 ) — Eine auf null basierende Indexposition, welche die Array-Position festlegt, ab der geschrieben werden soll.
| |
length:uint (default = 0 ) — Eine vorzeichenlose Ganzzahl, die festlegt, wie viele Byte des Puffers geschrieben werden sollen.
|
writeDouble | () | Methode |
writeFloat | () | Methode |
writeInt | () | Methode |
writeMultiByte | () | Methode |
public function writeMultiByte(value:String, charSet:String):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schreibt einen Multibyte-String unter Verwendung des angegebenen Zeichensatzes in den Dateistream, Bytestream oder Byte-Array.
Parameter
value:String — Der String-Wert, der geschrieben werden soll.
| |
charSet:String — Der String, der den zu verwendenden Zeichensatz angibt. Mögliche Zeichensatz-Strings sind unter anderem "shift-jis" , "cn-gb" und "iso-8859-1" . Eine vollständige Liste finden Sie unter Unterstützte Zeichensätze.
|
writeObject | () | Methode |
public function writeObject(object:*):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schreibt ein Objekt im serialisierten AMF-Format in den Dateistream, Bytestream oder Byte-Array.
Parameter
object:* — Das zu serialisierende Objekt
|
Verwandte API-Elemente
writeShort | () | Methode |
writeUnsignedInt | () | Methode |
writeUTF | () | Methode |
public function writeUTF(value:String):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schreibt einen UTF-8-String in den Dateistream, Bytestream oder Bytearray. Die Länge des UTF-8-Strings in Byte als 16-Bit-Ganzzahl wird zuerst geschrieben, gefolgt von den Byte für die Zeichen des Strings.
Parameter
value:String — Der String-Wert, der geschrieben werden soll.
|
Auslöser
RangeError — Wenn die Länge größer als 65535 ist.
|
writeUTFBytes | () | Methode |
public function writeUTFBytes(value:String):void
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Schreibt einen UTF-8-String. Entspricht writeUTF()
, doch dem String wird kein 16-Bit-Wort mit der Längenangabe vorangestellt.
Parameter
value:String — Der String-Wert, der geschrieben werden soll.
|
DataOutputExample
ein boolescher Ausdruck und die Gleitkommadarstellung (mit doppelter Genauigkeit) der Zahl Pi in ein Bytearray geschrieben. Dies wird in den folgenden Schritten erreicht:
- Deklarieren Sie eine neue ByteArray-Objektinstanz mit dem Namen
byteArr
. - Schreiben Sie den Byte-Äquivalenzwert des booleschen Werts
false
und die Gleitkommadarstellung (mit doppelter Genauigkeit) der Zahl Pi. - Rufen Sie den booleschen Wert und den Gleitkommawert ab.
Am Ende wird ein Codesegment eingefügt, mit dem auf Dateiende-Fehler geprüft wird. Hiermit wird sichergestellt, dass nicht über das Ende des Bytestroms hinaus gelesen wird.
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. } } } }
Tue Jun 12 2018, 10:04 AM Z