패키지 | flash.utils |
인터페이스 | public interface IDataInput |
구현자 | ByteArray, FileStream, Socket, URLStream |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
기본적으로 모든 IDataInput 및 IDataOutput 작업은 시퀀스의 최상위 바이트가 저장소에서 가장 낮은 첫 번째 주소에 저장되는 "bigEndian"이며 비블로킹 방식입니다. 사용할 수 있는 데이터가 부족하면 EOFError
예외가 발생합니다. 읽을 수 있는 데이터의 양을 확인하려면 IDataInput.bytesAvailable
속성을 사용합니다.
부호 확장은 데이터를 쓸 때가 아닌 데이터를 읽을 때만 의미가 있습니다. 따라서 IDataInput.readUnsignedByte()
및 IDataInput.readUnsignedShort()
와 함께 사용할 별도의 쓰기 메서드는 필요하지 않습니다. 다시 말하자면 다음과 같습니다.
-
IDataOutput.writeByte()
를IDataInput.readUnsignedByte()
및IDataInput.readByte()
와 함께 사용합니다. -
IDataOutput.writeShort()
를IDataInput.readUnsignedShort()
및IDataInput.readShort()
와 함께 사용합니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
bytesAvailable : uint [읽기 전용]
입력 버퍼에서 읽을 수 있는 데이터 바이트 수를 반환합니다. | IDataInput | ||
endian : String
데이터의 바이트 순서로, Endian 클래스의 BIG_ENDIAN 또는 LITTLE_ENDIAN 상수입니다. | IDataInput | ||
objectEncoding : uint
readObject() 메서드를 사용하여 이진 데이터를 쓰거나 읽을 때 AMF3 형식을 사용할지 아니면 AMF0 형식을 사용할지를 결정하는 데 사용됩니다. | IDataInput |
메서드 | 정의 주체 | ||
---|---|---|---|
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부울 값을 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 있는 바이트를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 length 매개 변수로 지정된 만큼의 데이터 바이트 수를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 IEEE 754 배정밀도 부동 소수점 숫자를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 IEEE 754 단정밀도 부동 소수점 숫자를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 있는 32비트 정수를 읽습니다. | IDataInput | ||
지정된 문자 세트를 사용하여 파일 스트림, 바이트 스트림 또는 바이트 배열에서 지정된 길이의 멀티바이트 문자열을 읽습니다. | IDataInput | ||
readObject():*
파일 스트림, 바이트 스트림 또는 바이트 배열에서 AMF 직렬 형식으로 인코딩된 객체를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 있는 16비트 정수를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 없는 바이트를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 없는 32비트 정수를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 없는 16비트 정수를 읽습니다. | IDataInput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에서 UTF-8 문자열을 읽습니다. | IDataInput | ||
바이트 스트림 또는 바이트 배열에서 UTF-8 바이트 시퀀스를 읽고 문자열을 반환합니다. | IDataInput |
bytesAvailable | 속성 |
endian | 속성 |
objectEncoding | 속성 |
objectEncoding:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
readObject()
메서드를 사용하여 이진 데이터를 쓰거나 읽을 때 AMF3 형식을 사용할지 아니면 AMF0 형식을 사용할지를 결정하는 데 사용됩니다. 값은 ObjectEncoding 클래스의 상수입니다.
구현
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
관련 API 요소
readBoolean | () | 메서드 |
readByte | () | 메서드 |
readBytes | () | 메서드 |
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
파일 스트림, 바이트 스트림 또는 바이트 배열에서 length
매개 변수로 지정된 만큼의 데이터 바이트 수를 읽습니다. offset
에 지정된 위치부터 bytes
매개 변수에 지정된 ByteArray 객체로 바이트를 읽습니다.
매개 변수
bytes:ByteArray — 데이터를 읽어들일 ByteArray 객체입니다.
| |
offset:uint (default = 0 ) — bytes 매개 변수에 대한 오프셋입니다. 이 위치에서 데이터 읽기를 시작합니다.
| |
length:uint (default = 0 ) — 읽을 바이트 수입니다. 기본값인 0을 사용하면 읽을 수 있는 데이터를 모두 읽습니다.
|
오류
EOFError — 읽을 수 있는 데이터가 충분하지 않습니다.
|
readDouble | () | 메서드 |
readFloat | () | 메서드 |
readInt | () | 메서드 |
readMultiByte | () | 메서드 |
public function readMultiByte(length:uint, charSet:String):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 문자 세트를 사용하여 파일 스트림, 바이트 스트림 또는 바이트 배열에서 지정된 길이의 멀티바이트 문자열을 읽습니다.
매개 변수
length:uint — 바이트 스트림에서 읽을 바이트 수입니다.
| |
charSet:String — 바이트 해석에 사용할 문자 세트를 표시하는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis" , "cn-gb" , "iso-8859-1" 등이 있습니다. 전체 목록은 지원되는 문자 세트를 참조하십시오.
참고: 현재 시스템이 |
String — UTF-8 인코딩 문자열입니다.
|
오류
EOFError — 읽을 수 있는 데이터가 충분하지 않습니다.
|
readObject | () | 메서드 |
readShort | () | 메서드 |
readUnsignedByte | () | 메서드 |
readUnsignedInt | () | 메서드 |
readUnsignedShort | () | 메서드 |
readUTF | () | 메서드 |
public function readUTF():String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
파일 스트림, 바이트 스트림 또는 바이트 배열에서 UTF-8 문자열을 읽습니다. 문자열 앞에는 문자열의 길이를 바이트 단위로 나타내는 unsigned short가 있어야 합니다.
이 메서드는 Java® IDataInput 인터페이스의 readUTF()
메서드와 비슷합니다.
String — 문자를 바이트로 나타내어 생성된 UTF-8 문자열입니다.
|
오류
EOFError — 읽을 수 있는 데이터가 충분하지 않습니다.
|
readUTFBytes | () | 메서드 |
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. } } } }
Tue Jun 12 2018, 03:17 PM Z