| 런타임 버전: | AIR 1.0 Flash Player 9 |
ByteArray 클래스는 이진 데이터 읽기/쓰기 및 사용을 최적화하는 메서드 및 속성을 제공합니다.
참고: ByteArray 클래스는 데이터에 바이트 수준으로 액세스해야 하는 고급 개발자를 위한 것입니다.
메모리 내 데이터는 압축된 바이트 배열(데이터 유형에 대한 가장 압축된 표현)이지만 표준 [](배열 액세스) 연산자를 사용하여 ByteArray 클래스의 인스턴스를 조작할 수 있습니다. URLStream 및 Socket 클래스의 메서드와 비슷한 메서드를 사용하여 이러한 인스턴스를 메모리 내 파일로 읽고 쓸 수도 있습니다.
또한 AMF(Action Message Format) 객체 직렬화를 비롯하여 zlib 압축 및 압축 해제가 지원됩니다.
ByteArray 클래스는 다음과 같은 용도로 사용할 수 있습니다.
- 서버에 연결하기 위한 사용자 정의 프로토콜을 만듭니다.
- URLEncoder/URLDecoder를 직접 작성합니다.
- AMF/Remoting 패킷을 직접 작성합니다.
- 데이터 유형을 사용하여 데이터의 크기를 최적화합니다.
-
Adobe® AIR™의 파일에서 로드한 이진 데이터를 사용합니다.
예제 보기
bytesAvailable:uint [읽기 전용]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 배열의 현재 위치에서 배열 끝까지 읽을 수 있는 데이터 바이트 수입니다.
유효한 데이터를 읽을 수 있도록 ByteArray 객체에 액세스할 때마다 읽기 메서드와 함께 bytesAvailable 속성을 사용해야 합니다.
구현 public function get bytesAvailable():uintdefaultObjectEncoding:uint [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
새 ByteArray 인스턴스에 사용할 ByteArray 클래스의 기본 객체 인코딩을 나타냅니다. 새 ByteArray 인스턴스를 만드는 경우 이 인스턴스에 대한 인코딩은 defaultObjectEncoding의 값으로 시작합니다. defaultObjectEncoding 속성은 ObjectEncoding.AMF3으로 초기화됩니다.
이진 데이터에서 객체를 읽거나 쓸 때 objectEncoding 값을 통해 ActionScript 3.0, ActionScript2.0 또는 ActionScript 1.0 형식 중 어떤 형식을 사용할지 결정됩니다. 값은 ObjectEncoding 클래스의 상수입니다.
구현 public static function get defaultObjectEncoding():uint public function set defaultObjectEncoding(value:uint):void참고 사항
endian:String [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
데이터의 바이트 순서를 Endian.BIG_ENDIAN 또는 Endian.LITTLE_ENDIAN으로 변경하거나 읽습니다.
구현 public function get endian():String public function set endian(value:String):void참고 사항
length:uint [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
ByteArray 객체의 바이트 단위 길이입니다.
이 길이를 현재 길이보다 큰 값으로 설정하면 바이트 배열의 오른쪽이 0으로 채워집니다.
이 길이를 현재 길이보다 작은 값으로 설정하면 바이트 배열이 잘립니다.
구현 public function get length():uint public function set length(value:uint):voidobjectEncoding:uint [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
ByteArray 인스턴스에서 쓰거나 읽을 때 ActionScript 3.0, ActionScript 2.0 또는 ActionScript 1.0 형식을 사용할지 여부를 확인하는 데 사용합니다. 값은 ObjectEncoding 클래스의 상수입니다.
구현 public function get objectEncoding():uint public function set objectEncoding(value:uint):void참고 사항
position:uint [읽기/쓰기]
| 런타임 버전: | AIR 1.0 Flash Player 9 |
ByteArray 객체에 대한 파일 포인터의 현재 위치를 바이트 단위로 옮기거나 반환합니다. 이 위치는 다음 번에 읽기 메서드를 호출할 때 읽기 시작하는 위치 또는 쓰기 메서드에서 쓰기 시작하는 위치입니다.
구현 public function get position():uint public function set position(value:uint):voidpublic function ByteArray()| 런타임 버전: | AIR 1.0 Flash Player 9 |
이 클래스의 메서드와 속성을 사용하여 데이터 저장소 및 스트림을 최적화할 수 있도록 압축된 바이트 배열을 나타내는 ByteArray 인스턴스를 만듭니다.
public function clear():void| 런타임 버전: | Flash Player 10, AIR 1.5 |
바이트 배열의 내용을 지우고 length 및 position 속성을 0으로 재설정합니다. 이 메서드를 호출하면 ByteArray 인스턴스에 사용되던 메모리가 명시적으로 비워집니다.
public function compress(algorithm:String):void
바이트 배열을 압축합니다. 전체 바이트 배열이 압축됩니다. Adobe AIR에서 실행 중인 내용의 경우 CompressionAlgorithm 클래스에 정의된 값을 algorithm 매개 변수로 전달하여 압축 알고리즘을 지정할 수 있습니다. Flash Player에서는 기본 알고리즘인 zlib만 지원합니다.
호출 후에 ByteArray의 length 속성이 새로 설정됩니다. position 속성이 바이트 배열의 끝으로 설정됩니다.
zlib 압축 데이터 형식에 대한 설명은 http://www.ietf.org/rfc/rfc1950.txt를 참조하십시오.
deflate 압축 알고리즘에 대한 설명은 http://www.ietf.org/rfc/rfc1951.txt를 참조하십시오.
deflate 압축 알고리즘은 zlib, gzip, 일부 zip 구현 등의 여러 압축 형식에 사용됩니다. 이러한 압축 형식 중 하나를 사용하여 데이터를 압축하면 원래 데이터의 압축 버전을 저장할 수 있을 뿐 아니라 압축 형식 데이터(예: .zip 파일)에 메타데이터 정보가 포함됩니다. 다양한 파일 형식에 포함되는 메타데이터 유형의 예에는 파일 이름, 파일 수정 날짜/시간, 원래 파일 크기, 선택적 주석, 체크섬 데이터 등이 있습니다.
예를 들어, zlib 알고리즘을 사용하여 ByteArray를 압축하면 결과 ByteArray가 지정된 형식으로 구성됩니다. 어떤 바이트에는 압축 데이터에 대한 메타데이터가 포함되고 다른 바이트에는 원래 ByteArray 데이터의 실제 압축 버전이 포함됩니다. zlib 압축 데이터 형식 사양의 정의에 따라 원래 데이터의 압축 버전이 포함된 부분인 이러한 바이트는 deflate 알고리즘을 사용하여 압축됩니다. 결과적으로 이러한 바이트는 원래 ByteArray에 대해 compress( CompressionAlgorithm.DEFLATE) 를 호출한 결과와 같습니다. 그러나 compress( CompressionAlgorithm.ZLIB) 결과에는 추가 메타 데이터가 포함되는 반면 compress( CompressionAlgorithm.DEFLATE) 결과에는 원래 ByteArray 데이터의 압축 버전만 포함되고 다른 데이터가 없습니다.
compress( CompressionAlgorithm.DEFLATE) 만 호출해서는 deflate 포맷을 사용하여 ByteArray 인스턴스의 데이터를 gzip 또는 zip과 같은 특정 포맷으로 압축할 수 없습니다. deflate 형식을 사용하여 얻은 압축 데이터 및 적절한 메타데이터를 비롯하여 압축 형식의 사양에 따라 구성된 ByteArray를 만들어야 합니다. 마찬가지로 해당 데이터에 대해 uncompress(CompressionAlgorithm.DEFLATE)만 호출해서는 gzip 또는 zip과 같은 형식으로 압축된 데이터를 디코딩할 수 없습니다. 먼저 압축 데이터에서 메타데이터를 분리해야 합니다. 그런 다음 deflate 형식을 사용하여 압축 데이터의 압축을 해제할 수 있습니다.
매개 변수
| algorithm:String (default = NaN) —
압축 시 사용할 압축 알고리즘입니다. 유효한 값은 CompressionAlgorithm 클래스에 상수로 정의됩니다. 기본값은 zlib 형식을 사용하는 것입니다. 이 매개 변수는 Adobe AIR에서 실행 중인 내용에 대해서만 인식됩니다. Flash Player에서는 기본 알고리즘인 zlib만 지원하며 이 매개 변수의 값을 전달하면 예외가 발생합니다. compress( CompressionAlgorithm.DEFLATE) 를 호출하면 deflate() 메서드를 호출하는 것과 동일한 효과를 냅니다.
|
참고 사항
public function deflate():void| 런타임 버전: | Flash Player 10, AIR 1.5 |
deflate 압축 알고리즘을 사용하여 바이트 배열을 압축합니다. 전체 바이트 배열이 압축됩니다.
호출 후에 ByteArray의 length 속성이 새로 설정됩니다. position 속성이 바이트 배열의 끝으로 설정됩니다.
deflate 압축 알고리즘에 대한 설명은 http://www.ietf.org/rfc/rfc1951.txt를 참조하십시오.
deflate()만 호출해서는 deflate 형식을 사용하여 ByteArray 인스턴스의 데이터를 gzip 또는 zip과 같은 특정 형식으로 압축할 수 없습니다. deflate 형식을 사용하여 얻은 압축 데이터 및 적절한 메타데이터를 비롯하여 압축 형식의 사양에 따라 구성된 ByteArray를 만들어야 합니다. 마찬가지로 해당 데이터에 대해 inflate()만 호출해서는 gzip 또는 zip과 같은 형식으로 압축된 데이터를 디코딩할 수 없습니다. 먼저 압축 데이터에서 메타데이터를 분리해야 합니다. 그런 다음 deflate 형식을 사용하여 압축 데이터의 압축을 해제할 수 있습니다.
참고 사항
public function inflate():void| 런타임 버전: | AIR 1.0 Flash Player 10 |
deflate 압축 알고리즘을 사용하여 바이트 배열의 압축을 해제합니다. 바이트 배열은 동일한 알고리즘을 사용하여 압축해야 합니다.
호출 후에 ByteArray의 length 속성이 새로 설정됩니다. position 속성이 0으로 설정됩니다.
deflate 압축 알고리즘에 대한 설명은 http://www.ietf.org/rfc/rfc1951.txt를 참조하십시오.
압축 형식 데이터가 포함된 ByteArray에 대해 inflate()만 호출해서는 gzip 또는 zip 형식의 데이터와 같이 deflate 압축 알고리즘을 사용하는 형식으로 압축된 데이터를 디코딩할 수 없습니다. 먼저 압축 데이터 형식의 일부로 포함된 메타데이터를 실제 압축 데이터에서 분리해야 합니다. 자세한 내용은 compress() 메서드 설명을 참조하십시오.
오류 | IOError — 데이터가 올바른 압축 데이터가 아닙니다. 데이터가 압축에 사용된 것과 같은 압축 알고리즘으로 압축되지 않았습니다. |
참고 사항
public function readBoolean():Boolean| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 부울 값을 읽습니다. 단일 바이트를 읽고 해당 바이트가 0이 아니면 true를, 그렇지 않으면 false를 반환합니다.
반환값 | Boolean —
바이트가 0이 아니면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
|
오류 public function readByte():int| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 부호 있는 바이트를 읽습니다.
반환 값의 범위는 -128에서 127 사이입니다.
반환값 | int — -128에서 127 사이의 정수입니다. |
오류 public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 length 매개 변수로 지정된 데이터 바이트 수를 읽습니다. 바이트 수를 bytes 매개 변수가 지정한 ByteArray 객체로 읽어 들여 offset에서 지정한 위치에서 시작하는 대상 ByteArray에 기록합니다.
매개 변수
| bytes:ByteArray — 데이터를 읽어들일 ByteArray 객체입니다. |
| |
| offset:uint (default = 0) —
읽어 온 데이터를 써야 하는 바이트 단위의 오프셋(위치)입니다.
|
| |
| length:uint (default = 0) — 읽을 바이트 수입니다. 기본값인 0을 사용하면 읽을 수 있는 데이터를 모두 읽습니다. |
오류 public function readDouble():Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 IEEE 754 배정밀도 64비트 부동 소수점 숫자를 읽습니다.
반환값 | Number — 배정밀도 64비트 부동 소수점 숫자입니다. |
오류 public function readFloat():Number| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 IEEE 754 단정밀도 32비트 부동 소수점 숫자를 읽습니다.
반환값 | Number — 단정밀도 32비트 부동 소수점 숫자입니다. |
오류 public function readInt():int| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 부호 있는 32비트 정수를 읽습니다.
반환 값의 범위는 -2147483648에서 2147483647 사이입니다.
반환값 | int — -2147483648에서 2147483647 사이의 부호 있는 32비트 정수입니다. |
오류 public function readMultiByte(length:uint, charSet:String):String| 런타임 버전: | AIR 1.0 Flash Player 9 |
지정된 문자 세트를 사용하여 바이트 스트림에서 지정된 길이의 멀티바이트 문자열을 읽습니다.
매개 변수
| length:uint — 바이트 스트림에서 읽을 바이트 수입니다. |
| |
| charSet:String —
바이트 해석에 사용할 문자 세트를 표시하는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis", "cn-gb", "iso-8859-1" 등이 있습니다. 전체 목록은 지원되는 문자 세트를 참조하십시오.
참고: 현재 시스템에서 charSet 매개 변수의 값을 인식하지 못하면 응용 프로그램에서 시스템의 기본 코드 페이지를 문자 세트로 사용합니다. 예를 들어 1이 아니라 01을 사용하는 myTest.readMultiByte(22, "iso-8859-01")의 경우처럼 charSet 매개 변수의 값이 사용자의 개발 컴퓨터에서는 작동하지만 다른 컴퓨터에서는 작동하지 않을 수 있습니다. 다른 컴퓨터의 경우 응용 프로그램은 시스템의 기본 코드 페이지를 사용합니다.
|
반환값오류 public function readObject():*| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 배열에서 AMF 직렬 형식으로 인코딩된 객체를 읽습니다.
반환값오류참고 사항
public function readShort():int| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 부호 있는 16비트 정수를 읽습니다.
반환 값의 범위는 -32768에서 32767 사이입니다.
반환값 | int — -32768에서 32767 사이의 부호 있는 16비트 정수입니다. |
오류 public function readUnsignedByte():uint| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 부호 없는 바이트를 읽습니다.
반환 값의 범위는 0에서 255 사이입니다.
반환값 | uint — 0에서 255 사이의 부호 없는 32비트 정수입니다. |
오류 public function readUnsignedInt():uint| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 부호 없는 32비트 정수를 읽습니다.
반환 값의 범위는 0에서 4294967295 사이입니다.
반환값 | uint — 0에서 4294967295 사이의 부호 없는 32비트 정수입니다. |
오류 public function readUnsignedShort():uint| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 부호 없는 16비트 정수를 읽습니다.
반환 값의 범위는 0에서 65535 사이입니다.
반환값 | uint — 0에서 65535 사이의 부호 없는 16비트 정수입니다. |
오류 public function readUTF():String| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 UTF-8 문자열을 읽습니다. 문자열 앞에는 문자열의 길이를 바이트 단위로 나타내는 unsigned short가 있어야 합니다.
반환값오류참고 사항
public function readUTFBytes(length:uint):String| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에서 length 매개 변수에 지정된 길이의 UTF-8 바이트 시퀀스를 읽고 문자열을 반환합니다.
매개 변수
| length:uint — UTF-8 바이트의 길이를 나타내는 unsigned short입니다. |
반환값 | String — 지정한 길이의 UTF-8 바이트로 구성된 문자열입니다. |
오류 public function toString():String| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 배열을 문자열로 변환합니다. 배열의 데이터가 유니코드 바이트 순서 표시로 시작하는 경우 이 배열을 문자열로 변환할 때 해당 표시가 유지됩니다. System.useCodePage를 true로 설정한 경우에는 변환 과정에서 배열의 데이터가 현재 시스템 코드 페이지에 있는 것처럼 취급됩니다.
반환값 public function uncompress(algorithm:String):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 배열의 압축을 해제합니다. Adobe AIR에서 실행 중인 내용의 경우 CompressionAlgorithm 클래스에 정의된 값을 algorithm 매개 변수로 전달하여 압축 알고리즘을 지정할 수 있습니다. 바이트 배열은 동일한 알고리즘을 사용하여 압축되어야 합니다. Flash Player에서는 기본 알고리즘인 zlib만 지원합니다.
호출 후에 ByteArray의 length 속성이 새로 설정됩니다. position 속성이 0으로 설정됩니다.
zlib 압축 데이터 형식에 대한 설명은 http://www.ietf.org/rfc/rfc1950.txt를 참조하십시오.
deflate 압축 알고리즘에 대한 설명은 http://www.ietf.org/rfc/rfc1951.txt를 참조하십시오.
압축 형식 데이터가 포함된 ByteArray 에 대해 uncompress(CompressionAlgorithm.DEFLATE)만 호출해서는 gzip 또는 zip 형식의 데이터와 같이 deflate 압축 알고리즘을 사용하는 형식으로 압축된 데이터를 디코딩할 수 없습니다. 먼저 압축 데이터 형식의 일부로 포함된 메타데이터를 실제 압축 데이터에서 분리해야 합니다. 자세한 내용은 compress() 메서드 설명을 참조하십시오.
매개 변수
| algorithm:String (default = NaN) —
압축 해제 시 사용할 압축 알고리즘입니다. 이 알고리즘은 데이터를 압축하는 데 사용된 것과 같은 압축 알고리즘이어야 합니다. 유효한 값은 CompressionAlgorithm 클래스에 상수로 정의됩니다. 기본값은 zlib 형식을 사용하는 것입니다. 이 매개 변수는 Adobe AIR에서 실행 중인 내용에 대해서만 인식됩니다. Flash Player에서는 기본 알고리즘인 zlib만 지원하며 이 매개 변수의 값을 전달하면 예외가 발생합니다.
|
오류 | IOError — 데이터가 올바른 압축 데이터가 아닙니다. 데이터가 압축에 사용된 것과 같은 압축 알고리즘으로 압축되지 않았습니다. |
참고 사항
public function writeBoolean(value:Boolean):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
부울 값을 씁니다. value 매개 변수에 따라 단일 바이트를 씁니다. 값이 true이면 1, false이면 0을 씁니다.
매개 변수
| value:Boolean —
쓸 바이트를 결정하는 부울 값입니다. 메서드는 매개 변수가 true이면 1을 쓰고 false이면 0을 씁니다.
|
public function writeByte(value:int):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에 바이트를 씁니다.
매개 변수의 하위 8비트가 사용되며 상위 24비트는 무시됩니다.
매개 변수
| value:int — 32비트 정수입니다. 하위 8비트가 바이트 스트림에 기록됩니다. |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
지정된 바이트 배열 bytes에서 offset(0부터 시작하는 인덱스)부터 시작하여 length만큼의 바이트 시퀀스를 데이터 스트림에 씁니다.
length 매개 변수를 생략하면 기본 길이인 0이 사용되어 메서드는 offset에서 시작하여 전체 버퍼를 씁니다. offset 매개 변수도 생략하면 전체 버퍼를 씁니다.
offset 또는 length가 범위를 벗어나면 bytes 배열의 시작과 끝이 대신 적용됩니다.
매개 변수
| bytes:ByteArray — ByteArray 객체입니다. |
| |
| offset:uint (default = 0) — 배열에서 쓰기를 시작할 위치를 나타내는 인덱스(0부터 시작)입니다. |
| |
| length:uint (default = 0) — 버퍼로 쓸 길이를 나타내는 부호 없는 정수입니다. |
public function writeDouble(value:Number):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에 IEEE 754 배정밀도 64비트 부동 소수점 숫자를 씁니다.
매개 변수
| value:Number — 배정밀도 64비트 부동 소수점 숫자입니다. |
public function writeFloat(value:Number):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에 IEEE 754 단정밀도 32비트 부동 소수점 숫자를 씁니다.
매개 변수
| value:Number — 단정밀도 32비트 부동 소수점 숫자입니다. |
public function writeInt(value:int):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에 부호 있는 32비트 정수를 씁니다.
매개 변수
| value:int — 바이트 스트림에 쓸 정수입니다. |
public function writeMultiByte(value:String, charSet:String):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
지정된 문자 세트를 사용하여 멀티바이트 문자열을 바이트 스트림에 씁니다.
매개 변수
| value:String — 쓸 문자열 값입니다. |
| |
| charSet:String —
사용할 문자 세트를 나타내는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis", "cn-gb", "iso-8859-1" 등이 있습니다. 전체 목록은 지원되는 문자 세트를 참조하십시오.
|
public function writeObject(object:*):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
객체를 바이트 배열에 AMF 직렬 형식으로 씁니다.
매개 변수
참고 사항
public function writeShort(value:int):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에 16비트 정수를 씁니다. 매개 변수의 하위 16비트가 사용되며 상위 16비트는 무시됩니다.
매개 변수
| value:int — 32비트 정수입니다. 하위 16비트가 바이트 스트림에 기록됩니다. |
public function writeUnsignedInt(value:uint):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
바이트 스트림에 부호 없는 32비트 정수를 씁니다.
매개 변수
| value:uint — 바이트 스트림에 쓸 부호 없는 정수입니다. |
public function writeUTF(value:String):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
UTF-8 문자열을 바이트 스트림에 씁니다. UTF-8 문자열의 바이트 단위 길이를 16비트 정수로 먼저 쓰고 문자열의 문자를 나타내는 바이트를 씁니다.
매개 변수
오류 public function writeUTFBytes(value:String):void| 런타임 버전: | AIR 1.0 Flash Player 9 |
UTF-8 문자열을 바이트 스트림에 씁니다. writeUTF() 메서드와 비슷하지만 writeUTFBytes()는 문자열 앞에 16비트 길이 워드를 추가하지 않습니다.
매개 변수
다음 예제에서는
ByteArrayExample 클래스를 사용하여 부울 값과 원주율의 배정밀도 부동 소수점 표현을 바이트 배열에 씁니다. 이는 다음 단계로 이루어집니다.
-
새 ByteArray 객체 인스턴스인
byteArr을 선언합니다.
-
부울 값
false에 해당하는 바이트 값을 기록한 다음 길이를 확인하고 다시 읽습니다.
- 원주율의 수학적 값에 해당하는 배정밀도 부동 소수점 값을 씁니다.
- 기록된 아홉 개의 바이트를 각각 바이트 배열로 다시 읽습니다.
참고: 바이트에서 trace()를 호출하면 바이트 배열에 저장되어 있는 바이트에 해당하는 십진수 값이 출력됩니다.
코드 끝에 파일 끝 오류를 검사하는 코드 조각이 추가되어 있습니다. 이렇게 하면 바이트 스트림의 끝에 도달할 때 읽기를 멈출 수 있습니다.
package {
import flash.display.Sprite;
import flash.utils.ByteArray;
import flash.errors.EOFError;
public class ByteArrayExample extends Sprite {
public function ByteArrayExample() {
var byteArr:ByteArray = new ByteArray();
byteArr.writeBoolean(false);
trace(byteArr.length); // 1
trace(byteArr[0]); // 0
byteArr.writeDouble(Math.PI);
trace(byteArr.length); // 9
trace(byteArr[0]); // 0
trace(byteArr[1]); // 64
trace(byteArr[2]); // 9
trace(byteArr[3]); // 33
trace(byteArr[4]); // 251
trace(byteArr[5]); // 84
trace(byteArr[6]); // 68
trace(byteArr[7]); // 45
trace(byteArr[8]); // 24
byteArr.position = 0;
try {
trace(byteArr.readBoolean() == false); // true
}
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-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 02:16 AM -08:00