Guida di riferimento di ActionScript® 3.0 per la piattaforma Adobe® Flash®
Home  |  Nascondi elenco pacchetti e classi |  Pacchetti  |  Classi  |  Novità  |  Indice  |  Appendici  |  Perché in inglese?
Filtri: Recupero dati dal server...
Recupero dati dal server...
flash.utils 

IDataInput  - AS3

Pacchettoflash.utils
Interfacciapublic interface IDataInput
Implementatori ByteArray, FileStream, Socket, URLStream

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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. Utilizzate 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:

  • Utilizzate IDataOutput.writeByte() con IDataInput.readUnsignedByte() e IDataInput.readByte().
  • Utilizzate IDataOutput.writeShort() con IDataInput.readUnsignedShort() e IDataInput.readShort().

Vedere gli esempi

Elementi API correlati



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 BIG_ENDIAN o LITTLE_ENDIAN della classe Endian.
IDataInput
  objectEncoding : uint
Utilizzata per determinare se impiegare il formato AMF3 o AMF0 durante la scrittura o lettura di dati binari mediante il metodo readObject().
IDataInput
Metodi pubblici
 MetodoDefinito da
  
Legge un valore booleano dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge un byte con segno dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
Legge il numero di byte di dati, specificato dal parametro length, dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge un numero a virgola mobile IEEE 754 a precisione doppia dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge un numero a virgola mobile IEEE 754 a precisione singola dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge un numero intero a 32 bit con segno dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
readMultiByte(length:uint, charSet:String):String
Legge una stringa multibyte di lunghezza specificata dal flusso di file oppure dal flusso o array di byte mediante il set di caratteri specificato.
IDataInput
  
Legge un oggetto dal flusso di file oppure dal flusso o array di byte, codificato nel formato serializzato AMF.
IDataInput
  
Legge un numero intero a 16 bit con segno dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge un byte senza segno dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge un numero intero a 32 bit senza segno dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge un numero intero a 16 bit senza segno dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge una stringa UTF-8 dal flusso di file oppure dal flusso o array di byte.
IDataInput
  
Legge una sequenza di byte UTF-8 dal flusso o dall'array di byte e restituisce una stringa.
IDataInput
Descrizione delle proprietà

bytesAvailable

proprietà
bytesAvailable:uint  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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

endian

proprietà 
endian:String

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

L'ordine dei byte dei dati: costante BIG_ENDIAN o LITTLE_ENDIAN della classe Endian.



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

Elementi API correlati

objectEncoding

proprietà 
objectEncoding:uint

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Utilizzata per determinare se impiegare il formato AMF3 o AMF0 durante la scrittura o lettura di dati binari mediante il metodo readObject(). Questo valore è una costante della classe ObjectEncoding.



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

Elementi API correlati

Descrizione dei metodi

readBoolean

()metodo
public function readBoolean():Boolean

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un valore booleano dal flusso di file oppure dal flusso o array di byte. Viene letto un byte singolo e, se è diverso da zero, viene restituito true (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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un byte con segno dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge il numero di byte di dati, specificato dal parametro length, dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un numero a virgola mobile IEEE 754 a precisione doppia dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un numero a virgola mobile IEEE 754 a precisione singola dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un numero intero a 32 bit con segno dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge una stringa multibyte di lunghezza specificata dal flusso di file oppure dal flusso o array di byte mediante 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, vedete Set di caratteri supportati.

Nota: se il valore del parametro charSet non è riconosciuto dal sistema corrente, Adobe® Flash® Player o Adobe® AIR® impiega la pagina di codice predefinita del sistema come set di caratteri. Ad esempio, un valore per il parametro charSet, come in myTest.readMultiByte(22, "iso-8859-01") che impiega 01 anziché 1 può funzionare sul sistema utilizzato per lo sviluppo, ma non su un altro sistema. Sull'altro sistema, Flash Player o il runtime AIR 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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

Restituisce
* — L'oggetto deserializzato.

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

Elementi API correlati

readShort

()metodo 
public function readShort():int

Versione linguaggio: ActionScript 3.0
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un numero intero a 16 bit con segno dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un byte senza segno dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un numero intero a 32 bit senza segno dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge un numero intero a 16 bit senza segno dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

Legge una stringa UTF-8 dal flusso di file oppure dal flusso o 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
Versioni runtime: AIR 1.0, Flash Player 9, Flash Lite 4

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

Parametri

length:uint — Il numero di byte da leggere.

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.
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. Dichiarate una nuova istanza dell'oggetto ByteArray byteArr.
  2. Scrivete 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.

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




[ X ]Perché in inglese?
Il contenuto della Guida di riferimento di ActionScript 3.0 appare in inglese

Non tutte le parti della Guida di riferimento di ActionScript 3.0 sono tradotte in tutte le lingue. Quando un elemento del linguaggio non è tradotto, viene riportato in inglese. Ad esempio, la classe ga.controls.HelpBox non è tradotta in nessuna lingua. Pertanto, nella versione italiana della guida di riferimento, la descrizione della classe ga.controls.HelpBox è riportata in inglese.