Paketflash.utils
Schnittstellepublic interface IDataInput
UmsetzerByteArray, Socket, URLStream

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:

Beispiele anzeigen

Siehe auch

IDataOutput-Schnittstelle
endian
Socket-Klasse
URLStream-Klasse
ByteArray-Klasse
EOFError-Klasse


Öffentliche Eigenschaften
 EigenschaftDefiniert von
  bytesAvailable : uint
[read-only] Gibt für die zum Lesen verfügbaren Daten im Eingabepuffer die Anzahl der Byte an.
IDataInput
  endian : String
Die Bytereihenfolge der Daten. Entweder die Konstante für "bigEndian" oder für "littleEndian" der Endian-Klasse.
IDataInput
  objectEncoding : uint
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.
IDataInput
Öffentliche Methoden
 MethodeDefiniert von
  
Liest einen booleschen Wert vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest ein vorzeichenbehaftetes Byte vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Liest die Anzahl der im Parameter "length" angegebenen Datenbytes aus dem Byte-Stream oder Byte-Array.
IDataInput
  
Liest eine Gleitkommazahl nach IEEE 754 mit doppelter Genauigkeit vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest eine Gleitkommazahl nach IEEE 754 mit einfacher Genauigkeit vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest eine vorzeichenbehaftete 32-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
Liest einen Multibyte-String der angegebenen Länge unter Verwendung des angegebenen Zeichensatzes vom Byte-Datenstrom.
IDataInput
  
Liest ein Objekt vom Byte-Datenstrom oder Byte-Array, das im serialisierten AMF-Format codiert ist.
IDataInput
  
Liest eine vorzeichenbehaftete 16-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest ein vorzeichenloses Byte vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest eine vorzeichenlose 32-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest eine vorzeichenlose 16-Bit-Ganzzahl vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest einen UTF-8-String vom Byte-Datenstrom oder Byte-Array.
IDataInput
  
Liest eine Folge von UTF-8-Bytes der Länge "length" vom Byte-Datenstrom oder Byte-Array und gibt einen String zurück.
IDataInput
Eigenschaftsdetail
bytesAvailableEigenschaft
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
endianEigenschaft 
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

objectEncodingEigenschaft 
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

Methodendetail
readBoolean()Methode
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.
readByte()Methode 
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.
readBytes()Methode 
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.
readDouble()Methode 
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.
readFloat()Methode 
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.
readInt()Methode 
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.
readMultiByte()Methode 
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.
readObject()Methode 
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

readShort()Methode 
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.
readUnsignedByte()Methode 
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.
readUnsignedInt()Methode 
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.
readUnsignedShort()Methode 
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.
readUTF()Methode 
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.
readUTFBytes()Methode 
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

length:uint

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.
Beispiele Verwendung von Beispielen
DataInputExample.as

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:
  1. Deklarieren Sie eine neue ByteArray-Objektinstanz mit dem Namen byteArr.
  2. Schreiben Sie den Byte-Äquivalenzwert des booleschen Werts false und die Gleitkommadarstellung (mit doppelter Genauigkeit) der Zahl Pi.
  3. 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.
            }
        }
    }
}




 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/utils/IDataInput.html