| Player 버전 : | Flash Player 9 |
IDataInput 인터페이스는 이진 데이터를 읽는 메서드 집합을 제공합니다. 이는 이진 데이터를 쓰는 IDataOutput 인터페이스에 대응되는 I/O 인터페이스입니다.
기본적으로 모든 IDataInput 및 IDataOutput 작업은 시퀀스의 최상위 바이트가 저장소에서 가장 낮은 첫 번째 주소에 저장되는 "bigEndian"이며 비블로킹 방식입니다. 사용할 수 있는 데이터가 부족하면 EOFError 예외가 발생합니다. 읽을 수 있는 데이터의 양을 확인하려면 IDataInput.bytesAvailable 속성을 사용합니다.
부호 확장은 데이터를 쓸 때가 아닌 데이터를 읽을 때만 의미가 있습니다. 따라서 IDataInput.readUnsignedByte() 및 IDataInput.readUnsignedShort()와 함께 사용할 별도의 쓰기 메서드는 필요하지 않습니다. 다시 말하자면 다음과 같습니다.
IDataOutput.writeByte()를 IDataInput.readUnsignedByte() 및 IDataInput.readByte()와 함께 사용합니다.
IDataOutput.writeShort()를 IDataInput.readUnsignedShort() 및 IDataInput.readShort()와 함께 사용합니다.
예제를 통해 확인하십시오.
bytesAvailable:uint [read-only]
| Player 버전 : | Flash Player 9 |
입력 버퍼에서 읽을 수 있는 데이터 바이트 수를 반환합니다. 읽기 메서드 중 하나를 사용하여 데이터를 읽기 전에 사용자 코드에서 bytesAvailable을 호출하여 읽을 수 있는 데이터가 충분한지 확인해야 합니다.
구현
public function get bytesAvailable():uint
endian:String [read-write]
| Player 버전 : | Flash Player 9 |
데이터의 바이트 순서이며 Endian 클래스의 "bigEndian" 또는 "littleEndian" 상수입니다.
구현
public function get endian():String
public function set endian(value:String):void
참고 사항
objectEncoding:uint [read-write]
| 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
참고 사항
public function readBoolean():Boolean
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 부울 값을 읽습니다. 단일 바이트를 읽고 해당 바이트가 0이 아니면 true를, 그렇지 않으면 false를 반환합니다.
반환값
| Boolean — 부울 값으로, 바이트가 0이 아니면 true이고 그렇지 않으면 false입니다.
|
오류
public function readByte():int
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 부호 있는 바이트를 읽습니다.
반환값
| int — 반환 값의 범위는 -128에서 127 사이입니다.
|
오류
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 length 매개 변수로 지정된 데이터 바이트 수를 읽습니다. offset에 지정된 위치부터 bytes 매개 변수에 지정된 ByteArray 객체로 바이트를 읽습니다.
매개 변수
| bytes:ByteArray — 데이터를 읽어들일 ByteArray 객체입니다.
|
| |
| offset:uint (default = 0) — bytes 매개 변수에 대한 오프셋입니다. 이 위치에서 데이터 읽기를 시작합니다.
|
| |
| length:uint (default = 0) — 읽을 바이트 수입니다. 기본값인 0을 사용하면 읽을 수 있는 데이터를 모두 읽습니다.
|
오류
public function readDouble():Number
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 IEEE 754 배정밀도 부동 소수점 숫자를 읽습니다.
반환값
| Number — IEEE 754 배정밀도 부동 소수점 숫자입니다.
|
오류
public function readFloat():Number
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 IEEE 754 단정밀도 부동 소수점 숫자를 읽습니다.
반환값
| Number — IEEE 754 단정밀도 부동 소수점 숫자입니다.
|
오류
public function readInt():int
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 부호 있는 32비트 정수를 읽습니다.
반환값
| int — 반환 값의 범위는 -2147483648에서 2147483647 사이입니다.
|
오류
public function readMultiByte(length:uint, charSet:String):String
| Player 버전 : | Flash Player 9 |
지정된 문자 세트를 사용하여 바이트 스트림에서 지정된 길이의 멀티바이트 문자열을 읽습니다.
매개 변수
| length:uint — 바이트 스트림에서 읽을 바이트 수입니다.
|
| |
| charSet:String — 바이트 해석에 사용할 문자 세트를 표시하는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis", "cn-gb", "iso-8859-1" 등이 있습니다. 전체 목록은 Supported Character Sets를 참조하십시오.
참고: 현재 시스템에서 charSet 매개 변수의 값을 인식하지 못하면 Flash Player에서 시스템의 기본 코드 페이지를 문자 세트로 사용합니다. 예를 들어 1이 아니라 01을 사용하는 myTest.readMultiByte(22, "iso-8859-01")의 경우처럼 charSet 매개 변수의 값이 사용자의 개발 컴퓨터에서는 작동하지만 다른 컴퓨터에서는 작동하지 않을 수 있습니다. 다른 컴퓨터에서는 Flash Player에서 시스템의 기본 코드 페이지를 사용합니다.
|
반환값
오류
public function readObject():*
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 AMF 직렬 형식으로 인코딩된 객체를 읽습니다.
반환값
오류
참고 사항
public function readShort():int
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 부호 있는 16비트 정수를 읽습니다.
반환값
| int — 반환 값의 범위는 -32768에서 32767 사이입니다.
|
오류
public function readUnsignedByte():uint
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 부호 없는 바이트를 읽습니다.
반환값
| uint — 반환 값의 범위는 0에서 255 사이입니다.
|
오류
public function readUnsignedInt():uint
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 부호 없는 32비트 정수를 읽습니다.
반환값
| uint — 반환 값의 범위는 0에서 4294967295 사이입니다.
|
오류
public function readUnsignedShort():uint
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 부호 없는 16비트 정수를 읽습니다.
반환값
| uint — 반환 값의 범위는 0에서 65535 사이입니다.
|
오류
public function readUTF():String
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 UTF-8 문자열을 읽습니다. 문자열 앞에는 문자열의 길이를 바이트 단위로 나타내는 unsigned short가 있어야 합니다.
이 메서드는 Java IDataInput 인터페이스의 readUTF() 메서드와 비슷합니다.
반환값
| String — 문자를 바이트로 나타내어 생성된 UTF-8 문자열입니다.
|
오류
public function readUTFBytes(length:uint):String
| Player 버전 : | Flash Player 9 |
바이트 스트림 또는 바이트 배열에서 length만큼의 UTF-8 바이트 시퀀스를 읽고 문자열을 반환합니다.
매개 변수
반환값
| String — 지정된 길이의 문자를 바이트로 나타내어 생성된 UTF-8 문자열입니다.
|
오류
다음 예제에서는
DataInputExample 클래스를 사용하여 부울 값과 원주율의 배정밀도 부동 소수점 표현을 바이트 배열에 씁니다. 이는 다음 단계로 이루어집니다.
- 새 ByteArray 객체 인스턴스인
byteArr을 선언합니다.
- 부울 값
false에 해당하는 바이트 값과 원주율의 수학적 값에 해당하는 배정밀도 부동 소수점 값을 씁니다.
- 부울 값 및 배정밀도 부동 소수점 숫자를 다시 읽습니다.
코드 끝에 파일 끝 오류를 검사하는 코드 조각이 추가되어 있습니다. 이렇게 하면 바이트 스트림의 끝에 도달할 때 읽기를 멈출 수 있습니다.
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-2007 Adobe Systems Incorporated. All rights reserved.
Tue Oct 16 2007, 12:25 AM GMT-07:00
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/utils/IDataInput.html