Pacchettoflash.utils
Interfacciapublic interface IDataInput
ImplementatoriByteArray, Socket, URLStream

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

L'interfaccia IDataInput fornisce una serie di metodi per la lettura dei dati binari. Questa interfaccia è la controparte I/O dell'interfaccia IDataOutput, che scrive dati binari.

Tutte le operazioni IDataInput e IDataOutput sono "bigEndian" per impostazione predefinita (il byte più significativo della sequenza viene memorizzato nel primo/più basso indirizzo di archiviazione) e non bloccano il sistema. Se i dati disponibili sono insufficienti, viene generata un'eccezione EOFError. Utilizzare la proprietà IDataInput.bytesAvailable per determinare la quantità di dati disponibile per la lettura.

L'estensione Sign ha importanza solo per la lettura dei dati, non per la scrittura. Per questo motivo, non è necessario separare i metodi di scrittura per utilizzare IDataInput.readUnsignedByte() e IDataInput.readUnsignedShort(). In altre parole:

Vedere gli esempi

Vedere anche

Interfaccia IDataOutput
endian
Socket, classe
URLStream, classe
ByteArray, classe
Classe EOFError


Proprietà pubbliche
 ProprietàDefinito da
  bytesAvailable: uint
[sola lettura] Restituisce il numero di byte dei dati disponibili per la lettura nel buffer di input.
IDataInput
  endian: String
L'ordine dei byte dei dati: costante "bigEndian" o "littleEndian" della classe Endian.
IDataInput
  objectEncoding: uint
Utilizzato per stabilire quale formato utilizzare (ActionScript 3.0, ActionScript 2.0 o ActionScript 1.0) per scrivere o leggere dati binari.
IDataInput
Metodi pubblici
 MetodoDefinito da
  
Legge un valore booleano dal flusso di byte o dall'array di byte.
IDataInput
  
Legge un byte con segno dal flusso di byte o dall'array di byte.
IDataInput
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Legge il numero di byte di dati (specificato dal parametro lunghezza) dal flusso o dall'array di byte.
IDataInput
  
Legge un numero a virgola mobile IEEE 754 a precisione doppia dal flusso di byte o dall'array di byte.
IDataInput
  
Legge un numero a virgola mobile IEEE 754 a precisione singola dal flusso di byte o dall'array di byte.
IDataInput
  
Legge un numero intero a 32 bit con segno dal flusso o dall'array di byte.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
Legge una stringa multibyte della lunghezza specificata dal flusso di byte, utilizzando il set di caratteri specificato.
IDataInput
  
Legge un oggetto dal flusso o dall'array di byte, codificato nel formato serializzato AMF.
IDataInput
  
Legge un numero intero a 16 bit con segno dal flusso o dall'array di byte.
IDataInput
  
Legge un byte senza segno dal flusso di byte o dall'array di byte.
IDataInput
  
Legge un numero intero a 32 bit senza segno dal flusso o dall'array di byte.
IDataInput
  
Legge un numero intero a 16 bit senza segno dal flusso o dall'array di byte.
IDataInput
  
Legge una stringa UTF-8 dal flusso di byte o dall'array di byte.
IDataInput
  
Legge una sequenza di byte UTF-8 (del numero specificato dal parametro lunghezza) dal flusso o dall'array di byte e restituisce una stringa.
IDataInput
Descrizione delle proprietà
bytesAvailableproprietà
bytesAvailable:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Restituisce il numero di byte dei dati disponibili per la lettura nel buffer di input. Il codice utente deve chiamare bytesAvailable per verificare che i dati disponibili siano sufficienti prima di tentare di leggerli mediante uno dei metodi di lettura.


Implementazione
    public function get bytesAvailable():uint
endianproprietà 
endian:String  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

L'ordine dei byte dei dati: costante "bigEndian" o "littleEndian" della classe Endian.


Implementazione
    public function get endian():String
    public function set endian(value:String):void

Vedere anche

objectEncodingproprietà 
objectEncoding:uint  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Utilizzato per stabilire quale formato utilizzare (ActionScript 3.0, ActionScript 2.0 o ActionScript 1.0) per scrivere o leggere dati binari. Questo valore è una costante della classe ObjectEncoding.


Implementazione
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint):void

Vedere anche

Descrizione dei metodi
readBoolean()metodo
public function readBoolean():Boolean

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un valore booleano dal flusso di byte o dall'array di byte. Viene letto un singolo byte e viene restituito true se il byte è diverso da zero oppure false in caso contrario.

Restituisce
Boolean — Un valore booleano: true se il byte è diverso da zero, false in caso contrario.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readByte()metodo 
public function readByte():int

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un byte con segno dal flusso di byte o dall'array di byte.

Restituisce
int — Il valore restituito è compreso nell'intervallo da -128 a 127.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readBytes()metodo 
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge il numero di byte di dati, specificato dal parametro length, dal flusso o dall'array di byte. I byte vengono letti nell'oggetto ByteArray specificato dal parametro bytes, a partire dalla posizione specificata da offset.

Parametri

bytes:ByteArray — L'oggetto ByteArray in cui vengono letti i dati.
 
offset:uint (default = 0) — L'offset nel parametro bytes dal quale deve iniziare la lettura dati.
 
length:uint (default = 0) — Il numero di byte da leggere. Il valore predefinito 0 avvia la lettura di tutti i dati disponibili.


Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readDouble()metodo 
public function readDouble():Number

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un numero a virgola mobile IEEE 754 a precisione doppia dal flusso di byte o dall'array di byte.

Restituisce
Number — Un numero a virgola mobile IEEE 754 a precisione doppia.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readFloat()metodo 
public function readFloat():Number

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un numero a virgola mobile IEEE 754 a precisione singola dal flusso di byte o dall'array di byte.

Restituisce
Number — Un numero a virgola mobile IEEE 754 a precisione singola.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readInt()metodo 
public function readInt():int

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un numero intero a 32 bit con segno dal flusso o dall'array di byte.

Restituisce
int — Il valore restituito è compreso nell'intervallo da -2147483648 a 2147483647.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readMultiByte()metodo 
public function readMultiByte(length:uint, charSet:String):String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge una stringa multibyte della lunghezza specificata dal flusso di byte, utilizzando il set di caratteri specificato.

Parametri

length:uint — Il numero di byte dal flusso di byte da leggere.
 
charSet:String — La stringa che indica il set di caratteri da utilizzare per interpretare i byte. Le stringhe dei set di caratteri possono essere "shift-jis", "cn-gb", "iso-8859-1" e altre. Per un elenco completo, vedere Set di caratteri supportati.

Nota: se il valore del parametro charSet non è riconosciuto dal sistema corrente, Flash Player impiega la pagina di codice predefinita del sistema come set di caratteri. Ad esempio, un valore per il parametro charSet, come inmyTest.readMultiByte(22, "iso-8859-01") che impiega 01 anziché 1 può funzionare sulla macchina utilizzata per lo sviluppo, ma non su un'altra macchina. Sull'altra macchina, Flash Player utilizzerà la pagina di codice predefinita del sistema.

Restituisce
String — Stringa con codifica UTF-8.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readObject()metodo 
public function readObject():*

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un oggetto dal flusso o dall'array di byte, codificato nel formato serializzato AMF.

Restituisce
* — L'oggetto deserializzato.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.

Vedere anche

readShort()metodo 
public function readShort():int

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un numero intero a 16 bit con segno dal flusso o dall'array di byte.

Restituisce
int — Il valore restituito è compreso nell'intervallo da -32768 a 32767.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readUnsignedByte()metodo 
public function readUnsignedByte():uint

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un byte senza segno dal flusso di byte o dall'array di byte.

Restituisce
uint — Il valore restituito è compreso nell'intervallo da 0 a 255.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readUnsignedInt()metodo 
public function readUnsignedInt():uint

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un numero intero a 32 bit senza segno dal flusso o dall'array di byte.

Restituisce
uint — Il valore restituito è compreso nell'intervallo da 0 a 4294967295.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readUnsignedShort()metodo 
public function readUnsignedShort():uint

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge un numero intero a 16 bit senza segno dal flusso o dall'array di byte.

Restituisce
uint — Il valore restituito è compreso nell'intervallo da 0 a 65535.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readUTF()metodo 
public function readUTF():String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge una stringa UTF-8 dal flusso di byte o dall'array di byte. Si presume che la stringa abbia come prefisso una dichiarazione unsigned short, che indica la lunghezza in byte.

Questo metodo è simile al metodo readUTF() dell'interfaccia Java IDataInput.

Restituisce
String — Una stringa UTF-8 prodotta dalla rappresentazione in byte di caratteri.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
readUTFBytes()metodo 
public function readUTFBytes(length:uint):String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Legge una sequenza di byte UTF-8 length dal flusso o dall'array di byte e restituisce una stringa.

Parametri

length:uint

Restituisce
String — Una stringa UTF-8 prodotta dalla rappresentazione in byte di caratteri della lunghezza specificata.

Genera
EOFError — I dati disponibili non sono sufficienti per la lettura.
Esempi Come utilizzare gli esempi
DataInputExample.as

L'esempio seguente utilizza la classe DataInputExample per scrivere un valore booleano e la rappresentazione di pi a virgola mobile e a precisione doppia in un array di byte. Questa operazione viene eseguita mediante la procedura seguente:
  1. Dichiarare una nuova istanza dell'oggetto ByteArray byteArr.
  2. Scrivere l'equivalente in byte del valore booleano false e l'equivalente a virgola mobile e precisione doppia del valore matematico di pi.
  3. Leggere il valore booleano e il numero a virgola mobile e precisione doppia.

Si noti che alla fine viene aggiunto un segmento di codice per verificare la presenza di errori di fine del file e assicurare che il flusso di byte non venga letto oltre il suo punto finale.

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.
            }
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/utils/IDataInput.html