This page was saved using jaction on 2006-09-04 8:33:45.
Address: http://flexdocs.kr/docs/flex2/langref/flash/utils/IDataInput.html
Title: flash.utils.IDataInput (Flex™ 2 레퍼런스 가이드)  •  Size: 43445
Packageflash.utils
인터페이스public interface IDataInput
인프리멘타ByteArray , Socket , URLStream

IDataInput 인터페이스에는, 바이너리 데이터를 읽어내는 일련의 Methods가 있습니다. 이 인터페이스는, 바이너리 데이터를 기입하는 IDataOutput 인터페이스와 같게 I/O 처리를 실시합니다.

IDataInput 및 IDataOutput 조작의 모든 것은, 디폴트에서는 "bigEndian" (순차 순서의 최상정도 바이트가 최하정도 또는 최초의 기억 area 주소에 보존됩니다)로, 블로킹은 발생하지 않습니다. 데이터가 충분히 없는 경우는,EOFError 예외가 발생합니다. IDataInput.bytesAvailable property를 사용해, 읽어내 가능한 데이터수를 특정합니다.

데이터의 기입시는 아니고, 독해시에게만 부호 확장이 문제가 됩니다. 따라서,IDataInput.readUnsignedByte()IDataInput.readUnsignedShort() 를 처리하기 위해서 기입해 Methods를 분할할 필요는 없습니다. 즉, 다음과 같이 됩니다.

View the examples

See also

IDataOutput interface
endian
Socket class
URLStream class
ByteArray class
EOFError class


Public property
 property정의
  bytesAvailable : uint
[read-only] 입력 버퍼로 읽어낼 수가 있는 데이터의 바이트수를 돌려줍니다.
IDataInput
  endian : String
Endian 클래스의 "bigEndian" 또는 "littleEndian" 정수의 몇개의 데이터의 바이트 순서입니다.
IDataInput
  objectEncoding : uint
바이너리 데이터에의 기입해, 또는 바이너리 데이터로부터의 독해시에, ActionScript 3.0, ActionScript 2.0, 또는 ActionScript 1.0 의 형식을 사용할 필요가 있을지 어떨지를 결정하기 위해서(때문에) 사용됩니다.
IDataInput
Public Methods
 Methods정의
  readBoolean ():Boolean
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 불리언 값을 읽어냅니다.
IDataInput
  readByte ():int
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 바이트를 읽어냅니다.
IDataInput
  readBytes (bytes:ByteArray , offset:uint = 0, length:uint = 0):void
바이트 스트림(Byte Stream) 또는 바이트 배열로부터,length Parameters로 지정한 데이터 바이트수를 읽어냅니다.
IDataInput
  readDouble ():Number
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 IEEE 754 배 정밀도 부동 소수점수(실수)를 읽어냅니다.
IDataInput
  readFloat ():Number
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 IEEE 754 단정밀도 부동 소수점수(실수)를 읽어냅니다.
IDataInput
  readInt ():int
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 32 비트 정수를 읽어냅니다.
IDataInput
  readMultiByte (length:uint , charSet:String ):String
지정한 캐릭터 세트를 사용해, 바이트 스트림(Byte Stream)로부터 지정한 길이의 멀티 byte string를 읽어냅니다.
IDataInput
  readObject ():*
바이트 스트림(Byte Stream) 또는 바이트 배열로부터, AMF 직렬화 형식에서 encode 한 object를 읽어냅니다.
IDataInput
  readShort ():int
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 16 비트 정수를 읽어냅니다.
IDataInput
  readUnsignedByte ():uint
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 바이트를 읽어냅니다.
IDataInput
  readUnsignedInt ():uint
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 32 비트 정수를 읽어냅니다.
IDataInput
  readUnsignedShort ():uint
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 16 비트 정수를 읽어냅니다.
IDataInput
  readUTF ():String
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 UTF-8 string를 읽어냅니다.
IDataInput
  readUTFBytes (length:uint ):String
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 length 의 UTF-8 바이트를 읽어내, string를 돌려줍니다.
IDataInput
property의 상세
bytesAvailableproperty
bytesAvailable:uint   [read-only]

입력 버퍼로 읽어낼 수가 있는 데이터의 바이트수를 돌려줍니다. 독해 Methods를 사용하기 전에, 유저 코드로 bytesAvailable 를 호출해, 읽어내는 데이터가 충분히 있는 것을 확인합니다.

Implements
    public function get bytesAvailable():uint
endianproperty 
endian:String   [read-write]

Endian 클래스의 "bigEndian" 또는 "littleEndian" 정수의 몇개의 데이터의 바이트 순서입니다.

Implements
    public function get endian():String
    public function set endian(value:String ):void

See also

objectEncodingproperty 
objectEncoding:uint   [read-write]

바이너리 데이터에의 기입해, 또는 바이너리 데이터로부터의 독해시에, ActionScript 3.0, ActionScript 2.0, 또는 ActionScript 1.0 의 형식을 사용할 필요가 있을지 어떨지를 결정하기 위해서(때문에) 사용됩니다. 이 값은, ObjectEncoding 클래스의 정수입니다.

Implements
    public function get objectEncoding():uint
    public function set objectEncoding(value:uint ):void

See also

Methods의 상세
readBoolean()Methods
public function readBoolean():Boolean

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 불리언 값을 읽어냅니다. 1 바이트가 읽어내져 바이트가 제로 이외의 경우는 true, 그 이외의 경우는 false 가 돌려주어집니다.

반환값
Boolean — 바이트가 제로 이외의 경우는 true, 그 이외의 경우는 false 의 불리언 값이 돌려주어집니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readByte()Methods 
public function readByte():int

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 바이트를 읽어냅니다.

반환값
int — 반환값은 -128 ~ 127 의 범위입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readBytes()Methods 
public function readBytes(bytes:ByteArray , offset:uint = 0, length:uint = 0):void

바이트 스트림(Byte Stream) 또는 바이트 배열로부터,length Parameters로 지정한 데이터 바이트수를 읽어냅니다. 이 바이트는,bytes Parameters로 지정한 ByteArray object의 offset 로 지정된 개시 위치에 읽힙니다.

Parameters
bytes:ByteArray — 데이터의 read처의 ByteArray object입니다.
 
offset:uint (default = 0) — 데이터의 독해가 개시하는 bytes Parameters에의 오프셋(offset)입니다.
 
length:uint (default = 0) — 읽어내는 바이트수입니다. 디폴트치의 0 으로 설정하면, 모든 데이터가 읽어내집니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readDouble()Methods 
public function readDouble():Number

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 IEEE 754 배 정밀도 부동 소수점수(실수)를 읽어냅니다.

반환값
Number — IEEE 754 배 정밀도 부동 소수점수(실수)입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readFloat()Methods 
public function readFloat():Number

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 IEEE 754 단정밀도 부동 소수점수(실수)를 읽어냅니다.

반환값
Number — IEEE 754 단정밀도 부동 소수점수(실수)입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readInt()Methods 
public function readInt():int

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 32 비트 정수를 읽어냅니다.

반환값
int — 반환값은 -2147483648 ~ 2147483647 의 범위입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readMultiByte()Methods 
public function readMultiByte(length:uint , charSet:String ):String

지정한 캐릭터 세트를 사용해, 바이트 스트림(Byte Stream)로부터 지정한 길이의 멀티 byte string를 읽어냅니다.

Parameters
length:uint — 바이트 스트림(Byte Stream)로부터 읽어내는 바이트수입니다.
 
charSet:String — 바이트의 해석에 사용하는 캐릭터 세트를 나타내는 string입니다. 캐릭터 세트의 string에는,"shift-jis","cn-gb", 및 "iso-8859-1" 등이 있습니다. 완전한 일람에 대해서는,「지원(support)하는 캐릭터 세트」를 참조해 주세요.

반환값
String — UTF-8 encode 된 string입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readObject()Methods 
public function readObject():*

바이트 스트림(Byte Stream) 또는 바이트 배열로부터, AMF 직렬화 형식에서 encode 한 object를 읽어냅니다.

반환값
* — 비직렬화 된 object입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.

See also

readShort()Methods 
public function readShort():int

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 16 비트 정수를 읽어냅니다.

반환값
int — 반환값은 -32768 ~ 32767 의 범위입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readUnsignedByte()Methods 
public function readUnsignedByte():uint

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 바이트를 읽어냅니다.

반환값
uint — 반환값은 0 ~ 255 의 범위입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readUnsignedInt()Methods 
public function readUnsignedInt():uint

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 32 비트 정수를 읽어냅니다.

반환값
uint — 반환값은 0 ~ 4294967295 의 범위입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readUnsignedShort()Methods 
public function readUnsignedShort():uint

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 16 비트 정수를 읽어냅니다.

반환값
uint — 반환값은 0 ~ 65535 의 범위입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readUTF()Methods 
public function readUTF():String

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 UTF-8 string를 읽어냅니다. 이 string에는, 바이트 단위로 길이를 나타내는 부호 없음 short 가 접두사로서 붙는 것이 전제가 되고 있습니다.

이 Methods는, Java IDataInput 인터페이스의 readUTF() Methods에 유사하고 있습니다.

반환값
String — 캐릭터의 바이트 표현으로 작성된 UTF-8 string입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
readUTFBytes()Methods 
public function readUTFBytes(length:uint ):String

바이트 스트림(Byte Stream) 또는 바이트 배열로부터 length 의 UTF-8 바이트를 읽어내, string를 돌려줍니다.

Parameters
length:uint

반환값
String — 지정한 길이의 캐릭터의 바이트 표현으로 작성된 UTF-8 string입니다.

Throws
EOFError — 충분한 데이터를 읽어낼 수 없습니다.
Examples

다음의 예에서는, 클래스 DataInputExample 를 사용해, 불 및 pi 의 배정밀도의 부동 소수 표현을 바이트 배열에 기입합니다. 이것을 실시하려면 , 다음의 순서를 실행합니다.
  1. 새로운 ByteArray object 인스턴스 byteArr 를 선언합니다.
  2. 바이트와 등가의 불리언 값 false 및 pi 의 평방근과 등가의 배정밀도의 부동 소수를 기입합니다.
  3. 불리언 값 및 배정밀도 부동 소수점수(실수)를 되돌립니다.

code segment가 마지막에 추가되어 파일의 종단 에러를 체크해 바이트 스트림(Byte Stream)이 끝까지 읽어내지지 않은 것을 확인합니다.

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






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/utils/IDataInput.html