| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die IDataInput-Schnittstelle bietet eine Reihe von Methoden zum Lesen von Binärdaten. Diese Schnittstelle ist das E/A-Gegenstück zur IDataOutput-Schnittstelle, mit der Binärdaten geschrieben werden.
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. Wenn nicht genug Daten vorhanden sind, wird eine EOFError-Ausnahme ausgelöst. Verwenden Sie die IDataInput.bytesAvailable-Eigenschaft um zu ermitteln, wie viele Daten zum Lesen bereitstehen.
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() mit IDataInput.readUnsignedByte() und IDataInput.readByte().
- Verwenden Sie
IDataOutput.writeShort() mit IDataInput.readUnsignedShort() und IDataInput.readShort().
Beispiele anzeigen
bytesAvailable:uint [read-only]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt für die zum Lesen verfügbaren Daten im Eingabepuffer die Anzahl der Byte an. Aus dem Programmcode der Benutzer muss bytesAvailable aufgerufen werden, um sicherzustellen, dass genügend Daten verfügbar sind, bevor diese mit einer der Lesemethoden gelesen werden.
Implementierung
public function get bytesAvailable():uint
endian:String [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Bytereihenfolge der Daten. Entweder die Konstante für "bigEndian" oder für "littleEndian" der Endian-Klasse.
Implementierung
public function get endian():String
public function set endian(value:String):void
Siehe auch
objectEncoding:uint [read-write]
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Anhand dieses Werts wird ermittelt, ob beim Schreiben oder Lesen von Binärdaten als Format ActionScript 3.0, ActionScript 2.0 oder ActionScript 1.0 verwendet werden soll. Der Wert ist eine Konstante der ObjectEncoding-Klasse.
Implementierung
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
Siehe auch
public function readBoolean():Boolean
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest einen booleschen Wert vom Byte-Datenstrom oder Byte-Array. Es wird ein einzelnes Byte gelesen und true zurückgegeben, wenn das Byte ungleich 0 ist, oder andernfalls false.
Rückgabewerte
| Boolean — Ein boolescher Wert. Der Wert ist true, wenn das Byte ungleich 0 ist, oder andernfalls false.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readByte():int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest ein vorzeichenbehaftetes Byte vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| int — Der Rückgabewert liegt im Bereich von -128 bis 127.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest die Anzahl der im Parameter length angegebenen Datenbyte vom Byte-Datenstrom oder Byte-Array. Die Bytedaten werden ab der im Parameter bytes festgelegten Position in das im Parameter offset angegebenen ByteArray-Objekt gelesen.
Parameter
| bytes:ByteArray — Das ByteArray-Objekt, in das die Daten eingelesen werden.
|
| |
| offset:uint (default = 0) — Der Offset innerhalb des mit dem Parameter bytes angegebenen Bereichs, ab dem das Lesen der Daten beginnt.
|
| |
| length:uint (default = 0) — Die Anzahl der zu lesenden Byte. Der Standardwert 0 bewirkt, dass alle verfügbaren Daten gelesen werden.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readDouble():Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| Number — Eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readFloat():Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| Number — Eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readInt():int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenbehaftete 32-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| int — Der Rückgabewert liegt im Bereich von -2147483648 bis 2147483647.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readMultiByte(length:uint, charSet:String):String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest einen Multibyte-String der angegebenen Länge unter Verwendung des angegebenen Zeichensatzes vom Byte-Datenstrom.
Parameter
| length:uint — Die Anzahl der aus dem Byte-Stream zu lesenden Byte.
|
| |
| charSet:String — Der String, der den zum Interpretieren der Byte 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.
Hinweis: Wird der Wert des Parameters charSet von dem aktuellen System nicht erkannt, verwendet Flash Player die Standard-Codepage des Systems als Zeichensatz. Beispielsweise kann ein Wert des Parameters charSet wie bei myTest.readMultiByte(22, "iso-8859-01"), wo 01 anstelle von 1 eingesetzt wird, auf Ihrem Entwicklungsrechner funktionieren, aber auf keinem anderen Rechner. Auf anderen Rechnern greift Flash Player auf die Standard-Codepage des Systems zurück.
|
Rückgabewerte
| String — Ein UTF-8-codierter String.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readObject():*
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest ein Objekt vom Byte-Datenstrom oder Byte-Array, das im serialisierten AMF-Format codiert ist.
Rückgabewerte
| * — Das deserialisierte Objekt.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
Siehe auch
public function readShort():int
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenbehaftete 16-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| int — Der Rückgabewert liegt im Bereich von -32768 bis 32767.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUnsignedByte():uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest ein vorzeichenloses Byte vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| uint — Der Rückgabewert liegt im Bereich von 0 bis 255.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUnsignedInt():uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenlose 32-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| uint — Der Rückgabewert liegt im Bereich von 0 bis 4294967295.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUnsignedShort():uint
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine vorzeichenlose 16-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
Rückgabewerte
| uint — Der Rückgabewert liegt im Bereich von 0 bis 65535.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUTF():String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest einen UTF-8-String vom Byte-Datenstrom oder Byte-Array. Es wird davon ausgegangen, dass dem String eine short-Ganzzahl ohne Vorzeichen mit der Länge in Byte vorangestellt ist.
Diese Methode entspricht der readUTF()-Methode der Java-Schnittstelle "IDataInput".
Rückgabewerte
| String — Ein durch die Bytedarstellung von Zeichen erstellter UTF-8-String.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
public function readUTFBytes(length:uint):String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Liest eine Folge von UTF-8-Byte der Anzahl length vom Byte-Datenstrom oder Byte-Array und gibt einen String zurück.
Parameter
Rückgabewerte
| String — Ein durch die Bytedarstellung von Zeichen erstellter UTF-8-String der angegebenen Länge.
|
Auslöser
| EOFError — Es sind nicht genug zu lesende Daten vorhanden.
|
Im folgenden Beispiel werden mit der Klasse
DataInputExample ein boolescher Ausdruck und die Gleitkommadarstellung (mit doppelter Genauigkeit) der Zahl Pi in ein Byte-Array 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 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.
}
}
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Fri Oct 12 2007, 2:03 AM GMT-07:00
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/utils/IDataInput.html