パッケージ | flash.utils |
インターフェイス | public interface IDataInput |
実装者 | ByteArray, FileStream, Socket, URLStream |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
IDataInput および IDataOutput 操作のすべては、デフォルトでは "bigEndian"(シーケンスの最上位バイトが最下位または最初の記憶領域アドレスに保存されます)で、ブロッキングは発生しません。データが十分にない場合は、EOFError
例外が発生します。IDataInput.bytesAvailable
プロパティを使用して、読み取り可能なデータ数を特定します。
データの書き込み時ではなく、読み取り時にのみ符号拡張が問題となります。したがって、IDataInput.readUnsignedByte()
と IDataInput.readUnsignedShort()
を処理するために書き込みメソッドを分割する必要はありません。つまり、次のようになります。
-
IDataOutput.writeByte()
は、IDataInput.readUnsignedByte()
およびIDataInput.readByte()
と共に使用します。 -
IDataOutput.writeShort()
は、IDataInput.readUnsignedShort()
およびIDataInput.readShort()
と共に使用します。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
bytesAvailable : uint [読み取り専用]
入力バッファーで読み取ることができるデータのバイト数を返します。 | IDataInput | ||
endian : String
データのバイト順序(Endian クラスの BIG_ENDIAN 定数または LITTLE_ENDIAN 定数)です。 | IDataInput | ||
objectEncoding : uint
readObject() メソッドを使用してバイナリデータの書き込みまたは読み取りを行うときに AMF3 と AMF0 のどちらのフォーマットを使用するかを特定するために使用されます。 | IDataInput |
メソッド | 定義元 | ||
---|---|---|---|
ファイルストリーム、バイトストリームまたはバイト配列からブール値を読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から符号付きバイトを読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から、length パラメーターで指定したデータバイト数を読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から IEEE 754 倍精度浮動小数点数を読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から IEEE 754 単精度浮動小数点数を読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から符号付き 32 bit 整数を読み取ります。 | IDataInput | ||
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列から指定した長さのマルチバイトストリングを読み取ります。 | IDataInput | ||
readObject():*
ファイルストリーム、バイトストリームまたはバイト配列から、AMF 直列化形式でエンコードされたオブジェクトを読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から符号付き 16 bit 整数を読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から符号なしバイトを読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から符号なし 32 bit 整数を読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から符号なし 16 bit 整数を読み取ります。 | IDataInput | ||
ファイルストリーム、バイトストリームまたはバイト配列から UTF-8 ストリングを読み取ります。 | IDataInput | ||
バイトストリームまたはバイト配列から UTF-8 の バイトのシーケンスを読み取り、ストリングを返します。 | IDataInput |
bytesAvailable | プロパティ |
endian | プロパティ |
objectEncoding | プロパティ |
objectEncoding:uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
readObject()
メソッドを使用してバイナリデータの書き込みまたは読み取りを行うときに AMF3 と AMF0 のどちらのフォーマットを使用するかを特定するために使用されます。 この値は、ObjectEncoding クラスの定数です。
実装
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
関連する API エレメント
readBoolean | () | メソッド |
readByte | () | メソッド |
readBytes | () | メソッド |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ファイルストリーム、バイトストリームまたはバイト配列から、length
パラメーターで指定したデータバイト数を読み取ります。 このバイトは、bytes
パラメーターで指定した ByteArray オブジェクトの、offset
で指定された位置以降に読み込まれます。
パラメーター
bytes:ByteArray — データの読み込み先の ByteArray オブジェクトです。
| |
offset:uint (default = 0 ) — データの読み取りを開始する bytes パラメーターへのオフセットです。
| |
length:uint (default = 0 ) — 読み取るバイト数です。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。
|
例外
EOFError — 読み取り可能なデータが不足しています。
|
readDouble | () | メソッド |
readFloat | () | メソッド |
readInt | () | メソッド |
readMultiByte | () | メソッド |
public function readMultiByte(length:uint, charSet:String):String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列から指定した長さのマルチバイトストリングを読み取ります。
パラメーター
length:uint — バイトストリームから読み取るバイト数です。
| |
charSet:String — バイトの解釈に使用する文字セットを表すストリングです。文字セットのストリングには、"shift-jis" 、"cn-gb" 、および "iso-8859-1" などがあります。完全な一覧については、「サポートされている文字セット」を参照してください。
注意: |
String — UTF-8 エンコードされたストリングです。
|
例外
EOFError — 読み取り可能なデータが不足しています。
|
readObject | () | メソッド |
readShort | () | メソッド |
readUnsignedByte | () | メソッド |
readUnsignedInt | () | メソッド |
readUnsignedShort | () | メソッド |
readUTF | () | メソッド |
public function readUTF():String
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ファイルストリーム、バイトストリームまたはバイト配列から UTF-8 ストリングを読み取ります。 このストリングには、バイト単位の長さを示す符号なし short が前に付いているものと見なされます。
このメソッドは、Java® IDataInput インターフェイスの readUTF()
メソッドによく似ています。
String — 文字のバイト表現で作成された UTF-8 ストリングです。
|
例外
EOFError — 読み取り可能なデータが不足しています。
|
readUTFBytes | () | メソッド |
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. } } } }
Tue Jun 12 2018, 10:34 AM Z