パッケージ | flash.utils |
インターフェイス | public interface IDataOutput |
実装者 | ByteArray, FileStream, Socket |
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
IDataInput および IDataOutput 操作のすべては、デフォルトでは "bigEndian"(シーケンスの最上位バイトが最下位または最初の記憶領域アドレスに保存されます)で、ブロッキングは発生しません。
データの書き込み時ではなく、読み取り時にのみ符号拡張が問題となります。したがって、IDataInput.readUnsignedByte()
と IDataInput.readUnsignedShort()
を処理するために、書き込みメソッドを分割する必要はありません。つまり、次のようになります。
-
IDataOutput.writeByte()
は、IDataInput.readUnsignedByte()
およびIDataInput.readByte()
と共に使用します。 -
IDataOutput.writeShort()
は、IDataInput.readUnsignedShort()
およびIDataInput.readShort()
と共に使用します。
関連する API エレメント
プロパティ | 定義元 | ||
---|---|---|---|
endian : String
データのバイト順序(Endian クラスの BIG_ENDIAN 定数または LITTLE_ENDIAN 定数)です。 | IDataOutput | ||
objectEncoding : uint
writeObject() メソッドを使用してバイナリデータの書き込みまたは読み取りを行うときに AMF3 と AMF0 のどちらのフォーマットを使用するかを特定するために使用されます。 | IDataOutput |
メソッド | 定義元 | ||
---|---|---|---|
ブール値を書き込みます。 | IDataOutput | ||
バイトを書き込みます。 | IDataOutput | ||
指定したバイト配列(bytes)の offset(0 から始まるインデックス値)バイトから開始される length バイトのシーケンスをファイルストリーム、バイトストリームまたはバイト配列に書き込みます。 | IDataOutput | ||
IEEE 754 倍精度(64 bit)浮動小数点数を書き込みます。 | IDataOutput | ||
IEEE 754 単精度(32 bit)浮動小数点数を書き込みます。 | IDataOutput | ||
32 bit 符号付き整数を書き込みます。 | IDataOutput | ||
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列にマルチバイトストリングを書き込みます。 | IDataOutput | ||
ファイルストリーム、バイトストリームまたはバイト配列に、AMF 直列化形式でオブジェクトを書き込みます。 | IDataOutput | ||
16 bit 整数を書き込みます。 | IDataOutput | ||
32 bit 符号なし整数を書き込みます。 | IDataOutput | ||
ファイルストリーム、バイトストリームまたはバイト配列に UTF-8 ストリングを書き込みます。 | IDataOutput | ||
UTF-8 ストリングを書き込みます。 | IDataOutput |
endian | プロパティ |
objectEncoding | プロパティ |
objectEncoding:uint
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
writeObject()
メソッドを使用してバイナリデータの書き込みまたは読み取りを行うときに AMF3 と AMF0 のどちらのフォーマットを使用するかを特定するために使用されます。 この値は、ObjectEncoding クラスの定数です。
実装
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
関連する API エレメント
writeBoolean | () | メソッド |
writeByte | () | メソッド |
writeBytes | () | メソッド |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定したバイト配列(bytes
)の offset
(0 から始まるインデックス値)バイトから開始される length
バイトのシーケンスをファイルストリーム、バイトストリームまたはバイト配列に書き込みます。
length
パラメーターを省略すると、デフォルトの長さの 0 が使用され、offset
から開始されるバッファー全体が書き込まれます。 offset
パラメーターも省略した場合は、バッファー全体が書き込まれます。
offset
または length
パラメーターが範囲外の場合は、これらは bytes
配列の最初と最後に固定されます。
パラメーター
bytes:ByteArray — 書き込むバイト配列です。
| |
offset:uint (default = 0 ) — 書き込みを開始する配列の位置を指定する、0 から始まるインデックスです。
| |
length:uint (default = 0 ) — 書き込むバッファーの長さを指定する符号なし整数です。
|
writeDouble | () | メソッド |
writeFloat | () | メソッド |
writeInt | () | メソッド |
writeMultiByte | () | メソッド |
public function writeMultiByte(value:String, charSet:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列にマルチバイトストリングを書き込みます。
パラメーター
value:String — 書き込まれるストリング値です。
| |
charSet:String — 使用する文字セットを表すストリングです。文字セットのストリングには、"shift-jis" 、"cn-gb" 、および "iso-8859-1" などがあります。完全な一覧については、「サポートされている文字セット」を参照してください。
|
writeObject | () | メソッド |
writeShort | () | メソッド |
writeUnsignedInt | () | メソッド |
writeUTF | () | メソッド |
public function writeUTF(value:String):void
言語バージョン: | ActionScript 3.0 |
ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
ファイルストリーム、バイトストリームまたはバイト配列に UTF-8 ストリングを書き込みます。 最初に UTF-8 ストリングの長さがバイト単位で 16 bit 整数として書き込まれ、その後にストリングの文字を表すバイトが続きます。
パラメーター
value:String — 書き込まれるストリング値です。
|
例外
RangeError — 長さが 65535 よりも大きい場合。
|
writeUTFBytes | () | メソッド |
DataOutputExample
を使用して、ブールおよび pi の倍精度の浮動小数表現をバイト配列に書き込みます。ここでは以下の手順を実行します。
- 新しい ByteArray オブジェクトインスタンス
byteArr
を宣言します。 - バイトと等価のブール値
false
および pi の平方根と等価の倍精度の浮動小数を書き込みます。 - ブール値および倍精度浮動小数点数を読み出します。
コードセグメントが最後に追加され、ファイルの終端エラーをチェックして、バイトストリームが最後まで読み取られないことを確認します。
package { import flash.display.Sprite; import flash.utils.ByteArray; import flash.errors.EOFError; public class DataOutputExample extends Sprite { public function DataOutputExample() { 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