パッケージflash.utils
インターフェイスpublic interface IDataOutput
実装者 ByteArray, FileStream, Socket

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

IDataOutput インターフェイスには、バイナリデータを書き込む一連のメソッドがあります。このインターフェイスは、バイナリデータを読み取る IDataInput インターフェイスと同様に I/O 処理を行います。IDataOutput インターフェイスは、FileStream クラス、Socket クラスおよび ByteArray クラスで実装されています。

IDataInput および IDataOutput 操作のすべては、デフォルトでは "bigEndian"(シーケンスの最上位バイトが最下位または最初の記憶領域アドレスに保存されます)で、ブロッキングは発生しません。

データの書き込み時ではなく、読み取り時にのみ符号拡張が問題となります。したがって、IDataInput.readUnsignedByte()IDataInput.readUnsignedShort() を処理するために、書き込みメソッドを分割する必要はありません。つまり、次のようになります。

例を表示

関連項目

IDataInput インターフェイス
endian
FileStream クラス
Socket クラス
URLStream クラス
ByteArray クラス


パブリックプロパティ
 プロパティ定義元
  endian : String
データのバイト順序(Endian クラスの BIG_ENDIAN 定数または LITTLE_ENDIAN 定数)です。
IDataOutput
  objectEncoding : uint
writeObject() メソッドを使用してバイナリデータの書き込みまたは読み取りを行うときに AMF3 と AMF0 のどちらのフォーマットを使用するかを特定するために使用されます。
IDataOutput
パブリックメソッド
 メソッド定義元
  
ブール値を書き込みます。
IDataOutput
  
バイトを書き込みます。
IDataOutput
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
指定したバイト配列(bytes)の offset(0 から始まるインデックス値)バイトから開始される length バイトのシーケンスをファイルストリーム、バイトストリームまたはバイト配列に書き込みます。
IDataOutput
  
IEEE 754 倍精度 (64 ビット) 浮動小数点数を書き込みます。
IDataOutput
  
IEEE 754 単精度 (32 ビット) 浮動小数点数を書き込みます。
IDataOutput
  
32 ビット符号付き整数を書き込みます。
IDataOutput
  
指定した文字セットを使用して、ファイルストリーム、バイトストリームまたはバイト配列にマルチバイトストリングを書き込みます。
IDataOutput
  
ファイルストリーム、バイトストリームまたはバイト配列に、AMF 直列化形式でオブジェクトを書き込みます。
IDataOutput
  
16 ビット整数を書き込みます。
IDataOutput
  
32 ビット符号なし整数を書き込みます。
IDataOutput
  
ファイルストリーム、バイトストリームまたはバイト配列に UTF-8 ストリングを書き込みます。
IDataOutput
  
UTF-8 ストリングを書き込みます。
IDataOutput
プロパティの詳細
endianプロパティ
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プロパティ 
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

関連項目

メソッドの詳細
writeBoolean()メソッド
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 が書き込まれます。

writeByte()メソッド 
public function writeByte(value:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

バイトを書き込みます。パラメータの下位 8 ビットが使用されます。上位 24 ビットは無視されます。

パラメータ

value:int — 整数としてのバイト値です。

writeBytes()メソッド 
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) — 書き込むバッファの長さを指定する符号なし整数です。

writeDouble()メソッド 
public function writeDouble(value:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

IEEE 754 倍精度(64 ビット)浮動小数点数を書き込みます。

パラメータ

value:Number — 倍精度 (64 ビット) 浮動小数点数です。

writeFloat()メソッド 
public function writeFloat(value:Number):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

IEEE 754 単精度 (32 ビット) 浮動小数点数を書き込みます。

パラメータ

value:Number — 単精度 (32 ビット) 浮動小数点数です。

writeInt()メソッド 
public function writeInt(value:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

32 ビット符号付き整数を書き込みます。

パラメータ

value:int — 符号付き整数としてのバイト値です。

writeMultiByte()メソッド 
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" などがあります。完全な一覧については、「サポートする文字セット」を参照してください。

writeObject()メソッド 
public function writeObject(object:*):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ファイルストリーム、バイトストリームまたはバイト配列に、AMF 直列化形式でオブジェクトを書き込みます。

パラメータ

object:* — 直列化されるオブジェクトです。

関連項目

writeShort()メソッド 
public function writeShort(value:int):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

16 ビット整数を書き込みます。パラメータの下位 16 ビットが使用されます。上位 16 ビットは無視されます。

パラメータ

value:int — 整数としてのバイト値です。

writeUnsignedInt()メソッド 
public function writeUnsignedInt(value:uint):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

32 ビット符号なし整数を書き込みます。

パラメータ

value:uint — 符号なし整数としてのバイト値です。

writeUTF()メソッド 
public function writeUTF(value:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

ファイルストリーム、バイトストリームまたはバイト配列に UTF-8 ストリングを書き込みます。 最初に UTF-8 ストリングの長さがバイト単位で 16 ビット整数として書き込まれ、その後にストリングの文字を表すバイトが続きます。

パラメータ

value:String — 書き込まれるストリング値です。


例外
RangeError — 長さが 65535 よりも大きい場合。
writeUTFBytes()メソッド 
public function writeUTFBytes(value:String):void

言語バージョン: ActionScript 3.0
ランタイムバージョン: AIR 1.0 Flash Player 9

UTF-8 ストリングを書き込みます。writeUTF() と似ていますが、ストリングに 16 ビット長の接頭辞が付きません。

パラメータ

value:String — 書き込まれるストリング値です。

例の使用法
DataOutputExample.as

次の例では、クラス DataOutputExample を使用して、ブールおよび pi の倍精度の浮動小数表現をバイト配列に書き込みます。ここでは以下の手順を実行します。
  1. 新しい ByteArray オブジェクトインスタンス byteArr を宣言します。
  2. バイトと等価のブール値 false および pi の平方根と等価の倍精度の浮動小数を書き込みます。
  3. ブール値および倍精度浮動小数点数を読み出します。

コードセグメントが最後に追加され、ファイルの終端エラーをチェックして、バイトストリームが最後まで読み取られないことを確認します。

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.
            }
        }
    }
}




 

 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/flash/utils/IDataOutput.html