패키지flash.utils
인터페이스public interface IDataOutput
구현자ByteArray, Socket

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

IDataOutput 인터페이스는 이진 데이터를 쓰는 메서드 집합을 제공합니다. 이는 이진 데이터를 읽는 IDataInput에 대응되는 I/O 인터페이스입니다. IDataOutput 인터페이스는 Socket 및 ByteArray 클래스를 통해 구현됩니다.

기본적으로 모든 IDataInput 및 IDataOutput 작업은 시퀀스의 최상위 바이트가 저장소에서 가장 낮은 첫 번째 주소에 저장되는 "bigEndian"이며 비블로킹 방식입니다.

부호 확장은 데이터를 쓸 때가 아닌 데이터를 읽을 때만 의미가 있습니다. 따라서 IDataInput.readUnsignedByte()IDataInput.readUnsignedShort()와 함께 사용할 별도의 쓰기 메서드는 필요하지 않습니다. 다시 말하자면 다음과 같습니다.

예제를 통해 확인하십시오.

참고 사항

IDataInput interface
endian
Socket class
URLStream class
ByteArray class


Public 속성
 속성다음에 의해 정의됨
  endian : String
데이터의 바이트 순서이며 Endian 클래스의 "bigEndian" 또는 "littleEndian" 상수입니다.
IDataOutput
  objectEncoding : uint
이진 데이터를 쓰거나 읽을 때 ActionScript 3.0, ActionScript 2.0 또는 ActionScript 1.0 형식을 사용할지 여부를 확인하는 데 사용합니다.
IDataOutput
Public 메서드
 메서드다음에 의해 정의됨
  
부울 값을 씁니다.
IDataOutput
  
writeByte(value:int):void
바이트를 씁니다.
IDataOutput
  
writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
지정된 바이트 배열 bytes에서 offset(0부터 시작하는 인덱스)부터 시작하여 length만큼의 바이트 시퀀스를 데이터 스트림에 기록합니다.
IDataOutput
  
IEEE 754 배정밀도 64비트 부동 소수점 숫자를 씁니다.
IDataOutput
  
IEEE 754 단정밀도 32비트 부동 소수점 숫자를 씁니다.
IDataOutput
  
writeInt(value:int):void
부호 있는 32비트 정수를 씁니다.
IDataOutput
  
writeMultiByte(value:String, charSet:String):void
지정된 문자 세트를 사용하여 멀티바이트 문자열을 바이트 스트림에 씁니다.
IDataOutput
  
writeObject(object:*):void
객체를 바이트 스트림 또는 바이트 배열에 AMF 직렬 형식으로 씁니다.
IDataOutput
  
16비트 정수를 씁니다.
IDataOutput
  
부호 없는 32비트 정수를 씁니다.
IDataOutput
  
UTF-8 문자열을 바이트 스트림에 씁니다.
IDataOutput
  
UTF-8 문자열을 씁니다.
IDataOutput
속성 정보
endian속성
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속성 
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

참고 사항

메서드 정보
writeBoolean()메서드
public function writeBoolean(value:Boolean):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

부울 값을 씁니다. value 매개 변수에 따라 단일 바이트를 씁니다. 값이 true이면 1, false이면 0을 씁니다.

매개 변수

value:Boolean — 쓸 바이트를 결정하는 부울 값입니다. 이 매개 변수가 true이면 1을 쓰고, false이면 0을 씁니다.

writeByte()메서드 
public function writeByte(value:int):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

바이트를 씁니다. 매개 변수의 하위 8비트가 사용되며 상위 24비트는 무시됩니다.

매개 변수

value:int — 정수 바이트 값입니다.

writeBytes()메서드 
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void

언어 버전 : ActionScript 3.0
Player 버전 : 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
Player 버전 : Flash Player 9

IEEE 754 배정밀도 64비트 부동 소수점 숫자를 씁니다.

매개 변수

value:Number — 배정밀도 64비트 부동 소수점 숫자입니다.

writeFloat()메서드 
public function writeFloat(value:Number):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

IEEE 754 단정밀도 32비트 부동 소수점 숫자를 씁니다.

매개 변수

value:Number — 단정밀도 32비트 부동 소수점 숫자입니다.

writeInt()메서드 
public function writeInt(value:int):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

부호 있는 32비트 정수를 씁니다.

매개 변수

value:int — 부호 있는 정수 바이트 값입니다.

writeMultiByte()메서드 
public function writeMultiByte(value:String, charSet:String):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

지정된 문자 세트를 사용하여 멀티바이트 문자열을 바이트 스트림에 씁니다.

매개 변수

value:String — 쓸 문자열 값입니다.
 
charSet:String — 사용할 문자 세트를 나타내는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis", "cn-gb", "iso-8859-1" 등이 있습니다. 전체 목록은 Supported Character Sets를 참조하십시오.

writeObject()메서드 
public function writeObject(object:*):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

객체를 바이트 스트림 또는 바이트 배열에 AMF 직렬 형식으로 씁니다.

매개 변수

object:* — 직렬화할 객체입니다.

참고 사항

writeShort()메서드 
public function writeShort(value:int):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

16비트 정수를 씁니다. 매개 변수의 하위 16비트가 사용되며 상위 16비트는 무시됩니다.

매개 변수

value:int — 정수 바이트 값입니다.

writeUnsignedInt()메서드 
public function writeUnsignedInt(value:uint):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

부호 없는 32비트 정수를 씁니다.

매개 변수

value:uint — 부호 없는 정수 바이트 값입니다.

writeUTF()메서드 
public function writeUTF(value:String):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

UTF-8 문자열을 바이트 스트림에 씁니다. UTF-8 문자열의 바이트 단위 길이를 16비트 정수로 먼저 쓰고 문자열의 문자를 나타내는 바이트를 씁니다.

매개 변수

value:String — 쓸 문자열 값입니다.


오류
RangeError — 길이가 65535보다 긴 경우입니다.
writeUTFBytes()메서드 
public function writeUTFBytes(value:String):void

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

UTF-8 문자열을 씁니다. writeUTF()와 비슷하지만 문자열 앞에 16비트 길이 워드를 추가하지 않습니다.

매개 변수

value:String — 쓸 문자열 값입니다.

예제 예제 사용 방법
DataOutputExample.as

다음 예제에서는 DataOutputExample 클래스를 사용하여 부울 값과 원주율의 배정밀도 부동 소수점 표현을 바이트 배열에 씁니다. 이는 다음 단계로 이루어집니다.
  1. 새 ByteArray 객체 인스턴스인 byteArr을 선언합니다.
  2. 부울 값 false에 해당하는 바이트 값과 원주율의 수학적 값에 해당하는 배정밀도 부동 소수점 값을 씁니다.
  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/flash/9.0_kr/ActionScriptLangRefV3/flash/utils/IDataOutput.html