패키지 | flash.utils |
인터페이스 | public interface IDataOutput |
구현자 | ByteArray, FileStream, Socket |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
기본적으로 모든 IDataInput 및 IDataOutput 작업은 시퀀스의 최상위 바이트가 저장소에서 가장 낮은 첫 번째 주소에 저장되는 "bigEndian"이며 비블로킹 방식입니다.
부호 확장은 데이터를 쓸 때가 아닌 데이터를 읽을 때만 의미가 있습니다. 따라서 IDataInput.readUnsignedByte()
및 IDataInput.readUnsignedShort()
와 함께 사용할 별도의 쓰기 메서드는 필요하지 않습니다. 다시 말하자면 다음과 같습니다.
-
IDataOutput.writeByte()
를IDataInput.readUnsignedByte()
및IDataInput.readByte()
와 함께 사용합니다. -
IDataOutput.writeShort()
를IDataInput.readUnsignedShort()
및IDataInput.readShort()
와 함께 사용합니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
endian : String
데이터의 바이트 순서로, Endian 클래스의 BIG_ENDIAN 또는 LITTLE_ENDIAN 상수입니다. | IDataOutput | ||
objectEncoding : uint
writeObject() 메서드를 사용하여 이진 데이터를 쓰거나 읽을 때 AMF3 형식을 사용할지 아니면 AMF0 형식을 사용할지를 결정하는 데 사용됩니다. | IDataOutput |
메서드 | 정의 주체 | ||
---|---|---|---|
부울 값을 씁니다. | IDataOutput | ||
바이트를 씁니다. | IDataOutput | ||
지정된 바이트 배열인 bytes에서 offset(0부터 시작하는 인덱스)이 지정하는 바이트부터 시작하여 length에 지정된 길이만큼의 바이트 시퀀스를 파일 스트림, 바이트 스트림 또는 바이트 배열에 기록합니다. | IDataOutput | ||
IEEE 754 배정밀도 64비트 부동 소수점 숫자를 씁니다. | IDataOutput | ||
IEEE 754 단정밀도 32비트 부동 소수점 숫자를 씁니다. | IDataOutput | ||
부호 있는 32비트 정수를 씁니다. | IDataOutput | ||
지정된 문자 세트를 사용하여 파일 스트림, 바이트 스트림 또는 바이트 배열에 멀티바이트 문자열을 씁니다. | IDataOutput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에 AMF 직렬 형식으로 객체를 씁니다. | IDataOutput | ||
16비트 정수를 씁니다. | IDataOutput | ||
부호 없는 32비트 정수를 씁니다. | IDataOutput | ||
파일 스트림, 바이트 스트림 또는 바이트 배열에 UTF-8 문자열을 씁니다. | IDataOutput | ||
UTF-8 문자열을 씁니다. | IDataOutput |
endian | 속성 |
objectEncoding | 속성 |
objectEncoding:uint
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
writeObject()
메서드를 사용하여 이진 데이터를 쓰거나 읽을 때 AMF3 형식을 사용할지 아니면 AMF0 형식을 사용할지를 결정하는 데 사용됩니다. 값은 ObjectEncoding 클래스의 상수입니다.
구현
public function get objectEncoding():uint
public function set objectEncoding(value:uint):void
관련 API 요소
writeBoolean | () | 메서드 |
writeByte | () | 메서드 |
writeBytes | () | 메서드 |
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 바이트 배열인 bytes
에서 offset
(0부터 시작하는 인덱스)이 지정하는 바이트부터 시작하여 length
에 지정된 길이만큼의 바이트 시퀀스를 파일 스트림, 바이트 스트림 또는 바이트 배열에 기록합니다.
length
매개 변수를 생략하면 기본 길이인 0이 사용되어 offset
에서 시작하여 전체 버퍼를 씁니다. offset
매개 변수도 생략하면 전체 버퍼를 씁니다.
offset
또는 length
매개 변수가 범위를 벗어나면 bytes
배열의 시작과 끝이 대신 적용됩니다.
매개 변수
bytes:ByteArray — 기록할 바이트 배열입니다.
| |
offset:uint (default = 0 ) — 배열에서 쓰기를 시작할 위치를 지정하는 인덱스(0부터 시작)입니다.
| |
length:uint (default = 0 ) — 버퍼로 쓸 길이를 지정하는 부호 없는 정수입니다.
|
writeDouble | () | 메서드 |
writeFloat | () | 메서드 |
writeInt | () | 메서드 |
writeMultiByte | () | 메서드 |
public function writeMultiByte(value:String, charSet:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
지정된 문자 세트를 사용하여 파일 스트림, 바이트 스트림 또는 바이트 배열에 멀티바이트 문자열을 씁니다.
매개 변수
value:String — 쓸 문자열 값입니다.
| |
charSet:String — 사용할 문자 세트를 나타내는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis" , "cn-gb" , "iso-8859-1" 등이 있습니다. 전체 목록은 지원되는 문자 세트를 참조하십시오.
|
writeObject | () | 메서드 |
writeShort | () | 메서드 |
writeUnsignedInt | () | 메서드 |
writeUTF | () | 메서드 |
public function writeUTF(value:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9, Flash Lite 4 |
파일 스트림, 바이트 스트림 또는 바이트 배열에 UTF-8 문자열을 씁니다. UTF-8 문자열의 바이트 단위 길이를 16비트 정수로 먼저 쓰고 문자열의 문자를 나타내는 바이트를 씁니다.
매개 변수
value:String — 쓸 문자열 값입니다.
|
오류
RangeError — 길이가 65535보다 긴 경우입니다.
|
writeUTFBytes | () | 메서드 |
DataOutputExample
클래스를 사용하여 부울 값과 원주율의 배정밀도 부동 소수점 표현을 바이트 배열에 씁니다. 이는 다음 단계로 이루어집니다.
- 새 ByteArray 객체 인스턴스인
byteArr
을 선언합니다. - 부울 값
false
에 해당하는 바이트 값과 원주율의 수학적 값에 해당하는 배정밀도 부동 소수점 값을 씁니다. - 부울 값 및 배정밀도 부동 소수점 숫자를 다시 읽습니다.
코드 끝에 파일 끝 오류를 검사하는 코드 조각이 추가되어 있습니다. 이렇게 하면 바이트 스트림의 끝에 도달할 때 읽기를 멈출 수 있습니다.
package { import flash.display.Sprite; import flash.utils.ByteArray; import flash.errors.EOFError; public class DataOutputExample extends Sprite { public function DataOutputExample() { 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