| 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:
- Utilizzare
IDataOutput.writeByte() con IDataInput.readUnsignedByte() e IDataInput.readByte().
- Utilizzare
IDataOutput.writeShort() con IDataInput.readUnsignedShort() e IDataInput.readShort().
Vedere gli esempi
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
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
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
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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
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.
|
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.
|
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.
|
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.
|
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.
|
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
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.
|
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:
- Dichiarare una nuova istanza dell'oggetto ByteArray
byteArr.
- Scrivere l'equivalente in byte del valore booleano
false e l'equivalente a virgola mobile e precisione doppia del valore matematico di pi.
- 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.
}
}
}
}
© 2004-2007 Adobe Systems Incorporated. All rights reserved.
Fri Oct 12 2007, 3:14 AM GMT-07:00
Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/utils/IDataInput.html