| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
IDataOutput インターフェイスには、バイナリデータを書き込む一連のメソッドがあります。このインターフェイスは、バイナリデータを読み取る IDataInput インターフェイスと同様に I/O 処理を行います。IDataOutput インターフェイスは、FileStream クラス、Socket クラスおよび ByteArray クラスで実装されています。
IDataInput および IDataOutput 操作のすべては、デフォルトでは "bigEndian"(シーケンスの最上位バイトが最下位または最初の記憶領域アドレスに保存されます)で、ブロッキングは発生しません。
データの書き込み時ではなく、読み取り時にのみ符号拡張が問題となります。したがって、IDataInput.readUnsignedByte() と IDataInput.readUnsignedShort() を処理するために、書き込みメソッドを分割する必要はありません。つまり、次のようになります。
-
IDataOutput.writeByte() は、IDataInput.readUnsignedByte() および IDataInput.readByte() と共に使用します。
-
IDataOutput.writeShort() は、IDataInput.readUnsignedShort() および IDataInput.readShort() と共に使用します。
例を表示
endian:String| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
データのバイト順序(Endian クラスの BIG_ENDIAN 定数または LITTLE_ENDIAN 定数)です。
実装 public function get endian():String public function set endian(value:String):void関連項目
objectEncoding:uint| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
writeObject() メソッドを使用してバイナリデータの書き込みまたは読み取りを行うときに AMF3 と AMF0 のどちらのフォーマットを使用するかを特定するために使用されます。 この値は、ObjectEncoding クラスの定数です。
実装 public function get objectEncoding():uint public function set objectEncoding(value:uint):void関連項目
public function writeBoolean(value:Boolean):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ブール値を書き込みます。value パラメータに従って、1 バイトが書き込まれます。true の場合は 1、false の場合は 0 のいずれかが書き込まれます。
パラメータ
| value:Boolean — 書き込むバイトを決定するブール値です。このパラメータが true の場合は 1、false の場合は 0 が書き込まれます。
|
public function writeByte(value:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
バイトを書き込みます。パラメータの下位 8 ビットが使用されます。上位 24 ビットは無視されます。
パラメータ
| value:int — 整数としてのバイト値です。
|
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定したバイト配列(bytes)の offset(0 から始まるインデックス値)バイトから開始される length バイトのシーケンスをファイルストリーム、バイトストリームまたはバイト配列に書き込みます。
length パラメータを省略すると、デフォルトの長さの 0 が使用され、offset から開始されるバッファ全体が書き込まれます。 offset パラメータも省略した場合は、バッファ全体が書き込まれます。
offset または length パラメータが範囲外の場合は、これらは bytes 配列の最初と最後に固定されます。
パラメータ
| bytes:ByteArray — 書き込むバイト配列です。
|
| |
| offset:uint (default = 0) — 書き込みを開始する配列の位置を指定する、0 から始まるインデックスです。
|
| |
| length:uint (default = 0) — 書き込むバッファの長さを指定する符号なし整数です。
|
public function writeDouble(value:Number):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
IEEE 754 倍精度(64 ビット)浮動小数点数を書き込みます。
パラメータ
| value:Number — 倍精度 (64 ビット) 浮動小数点数です。
|
public function writeFloat(value:Number):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
IEEE 754 単精度 (32 ビット) 浮動小数点数を書き込みます。
パラメータ
| value:Number — 単精度 (32 ビット) 浮動小数点数です。
|
public function writeInt(value:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
32 ビット符号付き整数を書き込みます。
パラメータ
| value:int — 符号付き整数としてのバイト値です。
|
public function writeMultiByte(value:String, charSet:String):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列にマルチバイトストリングを書き込みます。
パラメータ
| value:String — 書き込まれるストリング値です。
|
| |
| charSet:String — 使用する文字セットを表すストリングです。文字セットのストリングには、"shift-jis"、"cn-gb"、および "iso-8859-1" などがあります。完全な一覧については、「サポートする文字セット」を参照してください。
|
public function writeObject(object:*):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ファイルストリーム、バイトストリームまたはバイト配列に、AMF 直列化形式でオブジェクトを書き込みます。
パラメータ
| object:* — 直列化されるオブジェクトです。
|
関連項目
public function writeShort(value:int):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
16 ビット整数を書き込みます。パラメータの下位 16 ビットが使用されます。上位 16 ビットは無視されます。
パラメータ
| value:int — 整数としてのバイト値です。
|
public function writeUnsignedInt(value:uint):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
32 ビット符号なし整数を書き込みます。
パラメータ
| value:uint — 符号なし整数としてのバイト値です。
|
public function writeUTF(value:String):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
ファイルストリーム、バイトストリームまたはバイト配列に UTF-8 ストリングを書き込みます。 最初に UTF-8 ストリングの長さがバイト単位で 16 ビット整数として書き込まれ、その後にストリングの文字を表すバイトが続きます。
パラメータ
| value:String — 書き込まれるストリング値です。
|
例外 public function writeUTFBytes(value:String):void| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0 Flash Player 9 |
UTF-8 ストリングを書き込みます。writeUTF() と似ていますが、ストリングに 16 ビット長の接頭辞が付きません。
パラメータ
| value:String — 書き込まれるストリング値です。
|
次の例では、クラス
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.
}
}
}
}
© 2009 Adobe Systems Incorporated. All rights reserved.
Thu Mar 19 2009, 08:51 PM -07:00