| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
IDataInput インターフェイスには、バイナリデータを読み取る一連のメソッドがあります。このインターフェイスは、バイナリデータを書き込む IDataOutput インターフェイスと同様に I/O 処理を行います。
IDataInput および IDataOutput 操作のすべては、デフォルトでは "bigEndian" (シーケンスの最上位バイトが最下位または最初の記憶領域アドレスに保存されます) で、ブロッキングは発生しません。データが十分にない場合は、EOFError 例外が発生します。IDataInput.bytesAvailable プロパティを使用して、読み取り可能なデータ数を特定します。
データの書き込み時ではなく、読み取り時にのみ符号拡張が問題となります。したがって、IDataInput.readUnsignedByte() と IDataInput.readUnsignedShort() を処理するために書き込みメソッドを分割する必要はありません。つまり、次のようになります。
IDataOutput.writeByte() は、IDataInput.readUnsignedByte() および IDataInput.readByte() と共に使用します。
IDataOutput.writeShort() は、IDataInput.readUnsignedShort() および IDataInput.readShort() と共に使用します。
例を表示
bytesAvailable:uint [read-only]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
入力バッファで読み取ることができるデータのバイト数を返します。読み取りメソッドを使用する前に、ユーザーコードで bytesAvailable を呼び出して、読み取るデータが十分にあることを確認します。
実装
public function get bytesAvailable():uint
endian:String [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
Endian クラスの "bigEndian" または "littleEndian" 定数のいずれかのデータのバイト順序です。
実装
public function get endian():String
public function set endian(value:String):void
関連項目
objectEncoding:uint [read-write]
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイナリデータへの書き込み、またはバイナリデータからの読み取り時に、ActionScript 3.0、ActionScript 2.0、または ActionScript 1.0 の形式を使用する必要があるかどうかを決定するために使用されます。この値は、ObjectEncoding クラスの定数です。
実装
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
関連項目
public function readBoolean():Boolean
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列からブール値を読み取ります。1 バイトが読み取られ、バイトがゼロ以外の場合は true、それ以外の場合は false が返されます。
戻り値
| Boolean — バイトがゼロ以外の場合は true、それ以外の場合は false のブール値が返されます。
|
例外
public function readByte():int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から符号付きバイトを読み取ります。
戻り値
| int — 戻り値は -128 ~ 127 の範囲です。
|
例外
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から、length パラメータで指定したデータバイト数を読み取ります。このバイトは、bytes パラメータで指定した ByteArray オブジェクトの offset で指定された開始位置に読み込まれます。
パラメータ
| bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
|
| |
| offset:uint (default = 0) — データの読み取りが開始する bytes パラメータへのオフセットです。
|
| |
| length:uint (default = 0) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。
|
例外
public function readDouble():Number
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から IEEE 754 倍精度浮動小数点数を読み取ります。
戻り値
| Number — IEEE 754 倍精度浮動小数点数です。
|
例外
public function readFloat():Number
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から IEEE 754 単精度浮動小数点数を読み取ります。
戻り値
| Number — IEEE 754 単精度浮動小数点数です。
|
例外
public function readInt():int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から符号付き 32 ビット整数を読み取ります。
戻り値
| int — 戻り値は -2147483648 ~ 2147483647 の範囲です。
|
例外
public function readMultiByte(length:uint, charSet:String):String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
指定した文字セットを使用して、バイトストリームから指定した長さのマルチバイトストリングを読み取ります。
パラメータ
| length:uint — バイトストリームから読み取るバイト数です。
|
| |
| charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift-jis"、"cn-gb"、および "iso-8859-1" などがあります。完全な一覧については、「サポートする文字セット」を参照してください。
メモ: charSet パラメータの値が現在のシステムによって認識されない場合、Flash Player はシステムのデフォルトコードページを文字セットとして使用します。たとえば、charSet パラメータの指定で 1 の代わりに 01 を使用して myTest.readMultiByte(22, "iso-8859-01") というような指定を行った場合、その文字セットパラメータは開発マシンでは認識されるかもしれませんが、別のマシンでは認識されない可能性があります。もう一方のマシンでは、Flash Player がシステムのデフォルトコードページを使用することになります。
|
戻り値
| String — UTF-8 エンコードされたストリングです。
|
例外
public function readObject():*
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から、AMF 直列化形式でエンコードしたオブジェクトを読み取ります。
戻り値
例外
関連項目
public function readShort():int
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から符号付き 16 ビット整数を読み取ります。
戻り値
| int — 戻り値は -32768 ~ 32767 の範囲です。
|
例外
public function readUnsignedByte():uint
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から符号なしバイトを読み取ります。
戻り値
| uint — 戻り値は 0 ~ 255 の範囲です。
|
例外
public function readUnsignedInt():uint
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から符号なし 32 ビット整数を読み取ります。
戻り値
| uint — 戻り値は 0 ~ 4294967295 の範囲です。
|
例外
public function readUnsignedShort():uint
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から符号なし 16 ビット整数を読み取ります。
戻り値
| uint — 戻り値は 0 ~ 65535 の範囲です。
|
例外
public function readUTF():String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から UTF-8 ストリングを読み取ります。このストリングには、バイト単位で長さを示す符号なし short が接頭辞として付くことが前提となっています。
このメソッドは、Java IDataInput インターフェイスの readUTF() メソッドに類似しています。
戻り値
| String — 文字のバイト表現で作成された UTF-8 ストリングです。
|
例外
public function readUTFBytes(length:uint):String
| 言語バージョン : | ActionScript 3.0 |
| Player のバージョン : | Flash Player 9 |
バイトストリームまたはバイト配列から length の UTF-8 バイトを読み取り、ストリングを返します。
パラメータ
戻り値
| String — 指定した長さの文字のバイト表現で作成された UTF-8 ストリングです。
|
例外
次の例では、クラス
DataInputExample を使用して、ブールおよび pi の倍精度の浮動小数表現をバイト配列に書き込みます。ここでは以下の手順を実行します。
- 新しい ByteArray オブジェクトインスタンス
byteArr を宣言します。
- バイトと等価のブール値
false および pi の平方根と等価の倍精度の浮動小数を書き込みます。
- ブール値および倍精度浮動小数点数を戻します。
コードセグメントが最後に追加され、ファイルの終端エラーをチェックして、バイトストリームが最後まで読み取られないことを確認します。
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.
Thu Oct 25 2007, 12:41 AM GMT-07:00
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/utils/IDataInput.html