IDataInput 인터페이스에는, 바이너리 데이터를 읽어내는 일련의 Methods가 있습니다. 이 인터페이스는, 바이너리 데이터를 기입하는 IDataOutput 인터페이스와 같게 I/O 처리를 실시합니다.
IDataInput 및 IDataOutput 조작의 모든 것은, 디폴트에서는 "bigEndian" (순차 순서의 최상정도 바이트가 최하정도 또는 최초의 기억 area 주소에 보존됩니다)로, 블로킹은 발생하지 않습니다. 데이터가 충분히 없는 경우는,EOFError 예외가 발생합니다. IDataInput.bytesAvailable property를 사용해, 읽어내 가능한 데이터수를 특정합니다.
데이터의 기입시는 아니고, 독해시에게만 부호 확장이 문제가 됩니다. 따라서,IDataInput.readUnsignedByte() 와 IDataInput.readUnsignedShort() 를 처리하기 위해서 기입해 Methods를 분할할 필요는 없습니다. 즉, 다음과 같이 됩니다.
IDataOutput.writeByte() 은,IDataInput.readUnsignedByte() 및 IDataInput.readByte() 와 함께 사용합니다.
IDataOutput.writeShort() 는,IDataInput.readUnsignedShort() 및 IDataInput.readShort() 와 함께 사용합니다.
View the examples
bytesAvailable:uint [read-only]
입력 버퍼로 읽어낼 수가 있는 데이터의 바이트수를 돌려줍니다. 독해 Methods를 사용하기 전에, 유저 코드로 bytesAvailable 를 호출해, 읽어내는 데이터가 충분히 있는 것을 확인합니다.
Implements
public function get bytesAvailable():uint
endian:String [read-write]
Endian 클래스의 "bigEndian" 또는 "littleEndian" 정수의 몇개의 데이터의 바이트 순서입니다.
Implements
public function get endian():String
public function set endian(value:String ):void
See also
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
public function readBoolean():Boolean
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 불리언 값을 읽어냅니다. 1 바이트가 읽어내져 바이트가 제로 이외의 경우는 true, 그 이외의 경우는 false 가 돌려주어집니다.
반환값
| Boolean —
바이트가 제로 이외의 경우는 true, 그 이외의 경우는 false 의 불리언 값이 돌려주어집니다.
|
Throws
public function readByte():int
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 바이트를 읽어냅니다.
반환값
| int —
반환값은 -128 ~ 127 의 범위입니다.
|
Throws
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
public function readDouble():Number
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 IEEE 754 배 정밀도 부동 소수점수(실수)를 읽어냅니다.
반환값
| Number —
IEEE 754 배 정밀도 부동 소수점수(실수)입니다.
|
Throws
public function readFloat():Number
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 IEEE 754 단정밀도 부동 소수점수(실수)를 읽어냅니다.
반환값
| Number —
IEEE 754 단정밀도 부동 소수점수(실수)입니다.
|
Throws
public function readInt():int
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 32 비트 정수를 읽어냅니다.
반환값
| int —
반환값은 -2147483648 ~ 2147483647 의 범위입니다.
|
Throws
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
public function readObject():*
바이트 스트림(Byte Stream) 또는 바이트 배열로부터, AMF 직렬화 형식에서 encode 한 object를 읽어냅니다.
반환값
Throws
See also
public function readShort():int
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 첨부 16 비트 정수를 읽어냅니다.
반환값
| int —
반환값은 -32768 ~ 32767 의 범위입니다.
|
Throws
public function readUnsignedByte():uint
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 바이트를 읽어냅니다.
반환값
| uint —
반환값은 0 ~ 255 의 범위입니다.
|
Throws
public function readUnsignedInt():uint
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 32 비트 정수를 읽어냅니다.
반환값
| uint —
반환값은 0 ~ 4294967295 의 범위입니다.
|
Throws
public function readUnsignedShort():uint
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 부호 없음 16 비트 정수를 읽어냅니다.
반환값
| uint —
반환값은 0 ~ 65535 의 범위입니다.
|
Throws
public function readUTF():String
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 UTF-8 string를 읽어냅니다. 이 string에는, 바이트 단위로 길이를 나타내는 부호 없음 short 가 접두사로서 붙는 것이 전제가 되고 있습니다.
이 Methods는, Java IDataInput 인터페이스의 readUTF() Methods에 유사하고 있습니다.
반환값
| String —
캐릭터의 바이트 표현으로 작성된 UTF-8 string입니다.
|
Throws
public function readUTFBytes(length:uint ):String
바이트 스트림(Byte Stream) 또는 바이트 배열로부터 length 의 UTF-8 바이트를 읽어내, string를 돌려줍니다.
Parameters
반환값
| String —
지정한 길이의 캐릭터의 바이트 표현으로 작성된 UTF-8 string입니다.
|
Throws
다음의 예에서는, 클래스
DataInputExample 를 사용해, 불
및 pi 의 배정밀도의 부동 소수 표현을 바이트 배열에 기입합니다. 이것을 실시하려면 ,
다음의 순서를 실행합니다.
- 새로운 ByteArray object 인스턴스
byteArr 를 선언합니다.
- 바이트와 등가의 불리언 값
false 및
pi 의 평방근과 등가의 배정밀도의 부동 소수를 기입합니다.
- 불리언 값 및 배정밀도 부동 소수점수(실수)를 되돌립니다.
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.
}
}
}
}
© 2004-2006 Adobe Systems Incorporated. All rights reserved.
2006.08. 17, 오후 11:21, GMT-07:00