(AIR만 해당)
FileStream 객체는 파일 읽기 및 쓰기에 사용됩니다. 파일은
open() 메서드를 호출하여 동기적으로 열거나
openAsync() 메서드를 호출하여 비동기적으로 열 수 있습니다.
비동기적으로 파일을 열면 Adobe AIR이 백그라운드로 읽기 및 쓰기 프로세스를 실행하는 동안 다른 코드가 실행될 수 있는 장점이 있습니다. 비동기적으로 열릴 때는 작업이 진행 중인 동안 progress 이벤트가 전달됩니다.
동기적으로 열린 File 객체는 ByteArray 객체와 매우 유사하게 동작하고 비동기적으로 열린 파일은 Socket 또는 URLStream 객체와 매우 유사하게 동작합니다. 동기적으로 File 객체를 열면 기본 파일에서 요청된 데이터를 읽거나 쓰는 동안 호출자가 일시 정지됩니다. 비동기적으로 열면 스트림에 쓴 모든 데이터가 즉시 버퍼링되며 나중에 파일에 작성됩니다.
파일에서 동기적으로 또는 비동기적으로 읽을 때 모두 실제 read 메서드는 동기화된 상태입니다. 두 경우 모두 현재 "사용 가능"한 데이터에서 읽어옵니다. 차이점은 동기적으로 읽을 때는 언제나 모든 데이터를 사용할 수 있는 반면 비동기적으로 읽을 때는 데이터가 읽기 버퍼에 스트리밍되면서 데이터를 점차 사용할 수 있게 된다는 것입니다. 어떤 방법을 사용하건 현재 동기적으로 읽을 수 있는 데이터가 bytesAvailable 속성에 의해 나타납니다.
비동기 입력을 처리하는 응용 프로그램은 일반적으로 progress 이벤트에 등록하고, read 메서드를 호출함으로써 사용할 수 있게 되는 데이터를 소비합니다. 또는 응용 프로그램이 complete 이벤트에 등록하고 complete 이벤트가 전달될 때 전체 데이터 세트를 처리하는 식으로 모든 데이터가 사용 가능해질 때까지 기다릴 수 있습니다.
bytesAvailable:uint [읽기 전용]
입력 버퍼에서 읽을 수 있는 데이터 바이트 수를 반환합니다. 읽기 메서드 중 하나를 사용하여 데이터를 읽기 전에 사용자 코드에서 bytesAvailable을 호출하여 읽을 수 있는 데이터가 충분한지 확인해야 합니다.
구현 public function get bytesAvailable():uint 예제
다음 코드는
bytesAvailable 속성을 사용하여
progress 이벤트에 응답할 때 버퍼에서 사용할 수 있는 바이트 수를 결정합니다.
import flash.net.FileReference;
import flash.net.FileSystem;
import flash.net.FileRequest;
import flash.net.FileRequestMode;
import flash.net.FileStream;
import flash.utils.ByteArray;
import flash.events.ProgressEvent;
var fileRef:FileReference = FileSystem.homeDirectory.resolve("apolloTest/bigFile.html");
var fileRequest:FileRequest = new FileRequest(fileRef, FileRequestMode.READ);
var fileStream:FileStream = new FileStream();
var bytes:ByteArray = new ByteArray();
fileStream.addEventListener(ProgressEvent.PROGRESS, progressHandler);
fileStream.open(fileRequest);
function progressHandler(e:ProgressEvent):void {
trace(fileStream.position, fileStream.bytesAvailable);
fileStream.readBytes(bytes, fileStream.position, fileStream.bytesAvailable);
}
endian:String [읽기/쓰기]
데이터의 바이트 순서로, Endian 클래스의 BIG_ENDIAN 또는 LITTLE_ENDIAN 상수입니다.
구현 public function get endian():String public function set endian(value:String):voidobjectEncoding:uint [읽기/쓰기]
readObject() 또는 writeObject() 메서드를 사용하여 이진 데이터를 쓰거나 읽을 때 AMF3 또는 AMF0 중에서 어떤 형식이 사용되는지 여부를 지정합니다.
값은 ObjectEncoding 클래스의 상수입니다. 기본적으로 AMF3 형식이 사용됩니다.
구현 public function get objectEncoding():uint public function set objectEncoding(value:uint):void참고 사항
position:Number [읽기/쓰기]
파일에서의 현재 위치입니다.
이 값은 다음과 같을 때 수정됩니다.
- 속성을 명시적으로 설정할 때
- FileStream 객체에서 읽을 때(read 메서드 중 하나 사용)
- FileStream 객체에 쓸 때
길이가 232바이트보다 더 큰 파일을 지원하기 위해 위치가 단위가 아닌 숫자로 정의됩니다. 이 속성의 값은 항상 253보다 작은 정수입니다. 이 값을 소수 부분이 있는 숫자로 설정하면 가장 가까운 정수로 반내림됩니다.
비동기적으로 파일을 읽을 때 position 속성을 설정하면 응용 프로그램이 지정된 위치에서 시작되는 데이터를 사용하여 읽기 버퍼를 채우기 시작하며, bytesAvailable 속성은 0으로 설정될 수 있습니다. read 메서드를 사용하여 데이터를 읽기 전에 complete 이벤트를 기다리거나 read 메서드를 사용하기 전에 progress 이벤트를 기다리고 bytesAvailable 속성을 확인하십시오.
구현 public function get position():Number public function set position(value:Number):void 예제
다음 코드는 응용 프로그램이 파일에서 데이터를 읽는 동안 FileStream 객체의
position 속성이 어떻게 업데이트되는지를 보여 줍니다.
import flash.fileSystem.*;
import flash.utils.ByteArray;
import flash.events.Event;
var sourceFile:File = File.documentsDirectory.resolvePath("Apollo Test/test.txt");
var stream:FileStream = new FileStream();
stream.addEventListener(Event.COMPLETE, readBytes);
stream.openAsync(sourceFile, File);
function readBytes(e:Event):void {
var bytes:ByteArray = new ByteArray();
trace("position 0:", stream.position); // 0
bytes[0] = stream.readByte();
trace("position 1:", stream.position); // 1
fileStream.readBytes(bytes, stream.position, 4);
trace("position 2:", stream.position); // 5
stream.close();
}
readAhead:Number [읽기/쓰기]
비동기적으로 파일을 읽을 때 요청된 데이터의 양입니다.
이 속성은 비동기 스트림이 현재 위치를 벗어나서 읽으려고 시도하는 데이터의 양을 지정합니다. 이 속성의 기본값은 무한대입니다. 기본적으로 읽기를 위해 비동기적으로 열린 파일은 파일 끝까지 읽습니다.
읽기 버퍼에서 데이터를 읽으면 readAhead 속성의 값이 변경되지 않습니다. 버퍼에서 데이터를 읽으면 읽기 버퍼를 다시 채우기 위해 새 데이터를 읽습니다.
비동기적으로 열린 파일에는 readAhead 속성이 아무런 효과도 없습니다.
데이터를 비동기적으로 읽는 동안 FileStream 객체가 progress 이벤트를 전달합니다. progress 이벤트의 이벤트 핸들러 메서드에서 필요한 만큼의 바이트 수가 사용 가능한지 확인한 다음(bytesAvailable 속성 확인) read 메서드를 사용하여 읽기 버퍼에서 데이터를 읽습니다.
구현 public function get readAhead():Number public function set readAhead(value:Number):void 예제
다음 코드는
readAhead 속성을 사용하여 파일에 읽어들이는 데이터 양을 100바이트로 제한하는 방법을 보여 줍니다.
import flash.filesystem.*;
var file:File = File.desktopDirectory.resolvePath("test.txt");
var fileStream:FileStream = new FileStream();
fileStream.readAhead = 100;
fileStream.addEventListener(ProgressEvent.PROGRESS, readProgressHandler)
fileStream.openAsync(file, FileMode.READ);
var results:ByteArray;
function readProgressHandler(event:ProgressEvent):void {
if (fileStream.bytesAvailable >= 100) {
fileStream.readBytes(results, 0, 100);
}
}
public function FileStream()
FileStream 객체를 만듭니다. open() 또는 openAsync() 메서드를 사용하여 파일을 엽니다.
참고 사항
public function close():void
FileStream 객체를 닫습니다.
close() 메서드를 호출한 후에는 데이터를 읽거나 쓸 수 없습니다. 비동기적으로 파일을 연 경우(FileStream 객체가 openAsync() 메서드를 사용하여 파일을 연 경우) close() 메서드를 호출하면 객체가 close 이벤트를 전달합니다.
응용 프로그램을 자동으로 닫으면 응용 프로그램에서 FileStream 객체와 연관된 모든 파일이 닫힙니다. 하지만 데이터가 반드시 작성되도록 하기 위해 응용 프로그램을 닫기 전에 쓰기 대기 중인 데이터가 있는 비동기적으로 열린 모든 FileStream 객체에 대해 closed 이벤트에 등록하는 것이 가장 좋습니다.
open() 또는 openAsync() 메서드를 호출하여 FileStream를 다시 사용할 수 있습니다. FileStream 객체와 연관된 모든 파일이 닫히지만 객체가 close 이벤트를 전달하지 않습니다.
비동기적으로 열린 FileStream 객체(openAsync() 메서드 사용)에 대해서는 FileStream 객체에 대한 close() 이벤트를 호출하고 객체를 참조하는 속성 및 변수를 삭제한 경우에도 대기 중인 작업이 있는 한 FileStream 객체는 가비지 컬렉션되지 않으며 이벤트 핸들러는 완료를 위해 등록됩니다. 특히 다르게 참조되지 않은 FileStream 객체는 다음 중 하나라도 가능한 한 계속 유지됩니다.
-
파일 읽기 작업의 경우에는 파일 끝에 도달하지 않았고
complete 이벤트가 전달되지 않았습니다.
-
출력 데이터는 여전히 쓸 수 있으며 출력 관련 이벤트(예:
outputProgress 이벤트 또는 ioError 이벤트)에는 등록된 이벤트 리스너가 있습니다.
이벤트 | close:Event — 비동기적으로 열린 파일은 닫힙니다. |
참고 사항
예제
다음 코드는 FileStream 객체를
비동기적으로 열고 test.txt라는 텍스트 파일을 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리에 씁니다. FileStream 객체의
close() 메서드에 대한 호출은 데이터를 쓸 때 파일을 닫습니다.
import flash.filesystem.*;
import flash.events.Event;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.openAsync(file, FileMode.WRITE);
fileStream.writeUTFBytes("Hello");
fileStream.addEventListener(Event.CLOSE, fileClosed);
fileStream.close();
function fileClosed(event:Event):void {
trace("closed");
}
다음 코드는 FileStream 객체를
동기적으로 열고 test.txt라는 텍스트 파일을 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리에 씁니다. FileStream 객체의
close() 메서드에 대한 호출은 데이터를 쓸 때 파일을 닫습니다.
import flash.filesystem.*;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.WRITE);
fileStream.writeUTF("Hello");
fileStream.close();
public function open(file:File, fileMode:String):void
file 매개 변수로 지정된 파일을 가리키도록 동기적으로 FileStream 객체를 엽니다.
FileStream 객체가 이미 열려 있는 경우 메서드를 호출하면 파일을 닫은 후에 열며, 이전에 열려 있던 파일에 대해서는 더 이상의 이벤트(close 포함)가 제공되지 않습니다.
파일 잠금을 지원하는 시스템에서는 "쓰기" 또는 "업데이트" 모드(FileMode.WRITE 또는 FileMode.UPDATE)로 열린 파일은 닫히기 전까지 읽을 수 없습니다.
매개 변수
| file:File — 열 파일을 지정하는 File 객체입니다. |
| |
| fileMode:String — FileStream의 기능(예: 파일에서 읽고 쓸 수 있는 능력)을 정의하는 FileMode 클래스의 문자열입니다. |
오류 | IOError — 파일이 존재하지 않습니다. 파일을 열 수 있는 권한이 없습니다. 읽기 권한이 필요한 파일을 열고 있지만 읽기 권한이 없습니다. 또는 쓰기 권한이 필요한 파일을 열고 있지만 쓰기 권한이 없습니다. |
| |
| SecurityError —
파일 위치가 응용 프로그램 디렉토리이며 fileMode 매개 변수가 "추가", "업데이트" 또는 "쓰기" 모드로 설정되어 있습니다.
|
참고 사항
예제
다음 코드는 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리에서 test.txt 파일을 동기적으로 연 다음 시스템 문자 세트를 텍스트 인코딩으로 사용하여 파일을 문자열로 읽어들이는 방법을 보여 줍니다.
import flash.filesystem.*;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.READ);
var str:String = fileStream.readMultiByte(file.size, File.systemCharset);
trace(str);
fileStream.close();
public function openAsync(file:File, fileMode:String):void
file 매개 변수로 지정된 파일을 가리키도록 비동기적으로 FileStream 객체를 엽니다.
FileStream 객체가 이미 열려 있는 경우 메서드를 호출하면 파일을 닫은 후에 열며, 이전에 열려 있던 파일에 대해서는 더 이상의 이벤트(close 포함)가 제공되지 않습니다.
fileMode 매개 변수가 FileMode.READ 또는 FileMode.UPDATE로 설정되어 있으면 파일이 열리는 즉시 AIR이 데이터를 입력 버퍼로 읽어들이며, 데이터를 입력 버퍼로 읽어들이는 동안 progress 및 open 이벤트가 전달됩니다.
파일 잠금을 지원하는 시스템에서는 "쓰기" 또는 "업데이트" 모드(FileMode.WRITE 또는 FileMode.UPDATE)로 열린 파일은 닫히기 전까지 읽을 수 없습니다.
매개 변수
| file:File — 열 파일을 지정하는 File 객체입니다. |
| |
| fileMode:String — FileStream의 기능(예: 파일에서 읽고 쓸 수 있는 능력)을 정의하는 FileMode 클래스의 문자열입니다. |
이벤트 | ioError:IOErrorEvent — 파일이 존재하지 않습니다. 파일을 열 수 있는 권한이 없습니다. 읽기 권한이 필요한 파일을 열고 있지만 읽기 권한이 없습니다. 또는 쓰기 권한이 필요한 파일을 열고 있지만 쓰기 권한이 없습니다. |
| |
| progress:ProgressEvent — 데이터를 입력 버퍼로 읽어들이는 동안 전달됩니다. fileMode 매개 변수를 FileMode.READ 또는 FileMode.UPDATE로 설정한 상태에서 파일을 열어야 합니다. |
| |
| complete:Event — 파일 데이터를 입력 버퍼로 읽어들였습니다. fileMode 매개 변수를 FileMode.READ 또는 FileMode.UPDATE로 설정한 상태에서 파일을 열어야 합니다. |
오류 | SecurityError —
파일 위치가 응용 프로그램 디렉토리이며 fileMode 매개 변수가 "추가", "업데이트" 또는 "쓰기" 모드로 설정되어 있습니다.
|
참고 사항
예제
다음 코드는 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리에서 test.txt 파일을 비동기적으로 연 다음 시스템 문자 세트를 텍스트 인코딩으로 사용하여 파일을 문자열로 읽어들이는 방법을 보여 줍니다.
import flash.filesystem.*;
import flash.events.Event;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.addEventListener(Event.COMPLETE, fileCompleteHandler)
fileStream.openAsync(file, FileMode.READ);
function fileCompleteHandler(event:Event):void {
var str:String = fileStream.readMultiByte(fileStream.bytesAvailable, File.systemCharset);
trace(str);
fileStream.close();
}
public function readBoolean():Boolean
파일 스트림, 바이트 스트림 또는 바이트 배열에서 부울 값을 읽습니다. 단일 바이트를 읽고 해당 바이트가 0이 아니면 true를, 그렇지 않으면 false를 반환합니다.
반환값 | Boolean —
부울 값으로 바이트가 0이 아니면 true이고 그렇지 않으면 false입니다.
|
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readByte():int파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 있는 바이트를 읽습니다.
반환값 | int — 반환 값의 범위는 -128에서 127 사이입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
파일 스트림, 바이트 스트림 또는 바이트 배열에서 length 매개 변수로 지정된 만큼의 데이터 바이트 수를 읽습니다. offset에 지정된 위치부터 bytes 매개 변수에 지정된 ByteArray 객체로 바이트를 읽습니다.
매개 변수
| bytes:ByteArray —
데이터를 읽어들일 ByteArray 객체입니다.
|
| |
| offset:uint (default = 0) —
bytes 매개 변수에 대한 오프셋입니다. 이 위치에서 데이터 읽기를 시작합니다.
|
| |
| length:uint (default = 0) — 읽을 바이트 수입니다. 기본값인 0을 사용하면 읽을 수 있는 데이터를 모두 읽습니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readDouble():Number파일 스트림, 바이트 스트림 또는 바이트 배열에서 IEEE 754 배정밀도 부동 소수점 숫자를 읽습니다.
반환값 | Number — IEEE 754 배정밀도 부동 소수점 숫자입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readFloat():Number파일 스트림, 바이트 스트림 또는 바이트 배열에서 IEEE 754 단정밀도 부동 소수점 숫자를 읽습니다.
반환값 | Number — IEEE 754 단정밀도 부동 소수점 숫자입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readInt():int파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 있는 32비트 정수를 읽습니다.
반환값 | int — 반환 값의 범위는 -2147483648에서 2147483647 사이입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readMultiByte(length:uint, charSet:String):String지정된 문자 세트를 사용하여 파일 스트림, 바이트 스트림 또는 바이트 배열에서 지정된 길이의 멀티바이트 문자열을 읽습니다.
매개 변수
| length:uint — 바이트 스트림에서 읽을 바이트 수입니다. |
| |
| charSet:String —
바이트 해석에 사용할 문자 세트를 표시하는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis", "cn-gb", "iso-8859-1" 등이 있습니다. 전체 목록은 지원되는 문자 세트를 참조하십시오.
참고: 현재 시스템에서 charSet 매개 변수의 값을 인식하지 못하면 Adobe® Flash® Player 또는 Adobe® AIR™이 시스템의 기본 코드 페이지를 문자 세트로 사용합니다. 예를 들어 1 대신 01을 사용하는 myTest.readMultiByte(22, "iso-8859-01")의 경우처럼 charSet 매개 변수의 값이 사용자의 개발 컴퓨터에서는 작동하지만 다른 컴퓨터에서는 작동하지 않을 수 있습니다. 다른 컴퓨터에서는 Flash Player 또는 AIR 런타임이 시스템의 기본 코드 페이지를 사용합니다.
|
반환값이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
참고 사항
public function readObject():*파일 스트림, 바이트 스트림 또는 바이트 배열에서 AMF 직렬 포맷으로 객체를 읽습니다.
반환값이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
참고 사항
public function readShort():int파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 있는 16비트 정수를 읽습니다.
반환값 | int — 반환 값의 범위는 -32768에서 32767 사이입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readUnsignedByte():uint파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 없는 바이트를 읽습니다.
반환값 | uint — 반환 값의 범위는 0에서 255 사이입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readUnsignedInt():uint파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 없는 32비트 정수를 읽습니다.
반환값 | uint — 반환 값의 범위는 0에서 4294967295 사이입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readUnsignedShort():uint파일 스트림, 바이트 스트림 또는 바이트 배열에서 부호 없는 16비트 정수를 읽습니다.
반환값 | uint — 반환 값의 범위는 0에서 65535 사이입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readUTF():String
파일 스트림, 바이트 스트림 또는 바이트 배열에서 UTF-8 문자열을 읽습니다. 문자열 앞에는 문자열의 길이를 바이트 단위로 나타내는 unsigned short가 있어야 합니다.
이 메서드는 Java® IDataInput 인터페이스의 readUTF() 메서드와 비슷합니다.
반환값 | String — 문자를 바이트로 나타내어 생성된 UTF-8 문자열입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function readUTFBytes(length:uint):String바이트 스트림 또는 바이트 배열에서 만큼의 UTF-8 바이트 시퀀스를 읽고 문자열을 반환합니다.
매개 변수
| length:uint — 읽을 바이트 수입니다. |
반환값 | String — 지정된 길이의 문자를 바이트로 나타내어 생성된 UTF-8 문자열입니다. |
이벤트 | ioError:IOErrorEvent — 파일을 읽을 수 없거나 파일이 열려 있지 않습니다. 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 읽기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일을 읽을 수 없습니다(예: 파일 누락).
|
| |
| EOFError —
데이터를 읽기 위해 지정된 위치가 사용 가능한 바이트 수(bytesAvailable 속성으로 지정됨)를 초과합니다.
|
public function truncate():void
FileStream 객체의 position 속성으로 지정된 위치에서 파일을 자릅니다.
position 속성으로 지정된 위치의 바이트에서 파일 끝까지가 삭제됩니다. 파일을 쓰기용으로 열어야 합니다.
오류참고 사항
예제
다음 코드는 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리에서 test.txt 파일을 동기적으로 연 다음 파일 길이가 100자를 초과할 경우 100자로 자릅니다.
import flash.filesystem.*;
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.open(file, FileMode.UPDATE);
if (file.size > 100) {
fileStream.position = 100;
fileStream.truncate();
}
fileStream.close();
다음 코드는 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리에서 test.txt 파일을
비동기적으로 연 다음 파일 길이가 100자를 초과할 경우 100자로 자릅니다.
var file:File = File.documentsDirectory;
file = file.resolvePath("Apollo Test/test.txt");
var fileStream:FileStream = new FileStream();
fileStream.openAsync(file, FileMode.UPDATE);
trace("start", file.size)
if (file.size > 100) {
fileStream.position = 100;
fileStream.truncate();
}
fileStream.addEventListener(Event.CLOSE, fileClosed);
fileStream.close();
function fileClosed(event:Event):void {
trace("closed", file.size);
}
public function writeBoolean(value:Boolean):void
부울 값을 씁니다. value 매개 변수에 따라 단일 바이트를 씁니다. 값이 true이면 1, false이면 0을 씁니다.
매개 변수
| value:Boolean —
쓸 바이트를 결정하는 부울 값입니다. 매개 변수가 true이면 1이 쓰여지고, false이면 0이 쓰여집니다.
|
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeByte(value:int):void바이트를 씁니다. 매개 변수의 하위 8비트가 사용되고, 상위 24비트는 무시됩니다.
매개 변수
| value:int — 정수로 바이트 값입니다. |
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeBytes(bytes:ByteArray, offset:uint = 0, length:uint = 0):void
지정된 바이트 배열인 bytes에서 offset(0부터 시작하는 인덱스)이 지정하는 바이트부터 시작하여 length에 지정된 길이만큼의 바이트 시퀀스를 파일 스트림, 바이트 스트림 또는 바이트 배열에 기록합니다.
length 매개 변수를 생략하면 기본 길이인 0이 사용되어 offset에서 시작하여 전체 버퍼를 씁니다. offset 매개 변수도 생략하면 전체 버퍼를 씁니다.
offset 또는 length 매개 변수가 범위를 벗어나면 bytes 배열의 시작과 끝이 대신 적용됩니다.
매개 변수
| bytes:ByteArray — 기록할 바이트 배열입니다. |
| |
| offset:uint (default = 0) — 배열에서 쓰기를 시작할 위치를 지정하는 인덱스(0부터 시작)입니다. |
| |
| length:uint (default = 0) — 버퍼로 쓸 길이를 지정하는 부호 없는 정수입니다. |
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeDouble(value:Number):voidIEEE 754 배정밀도 64비트 부동 소수점 숫자를 씁니다.
매개 변수
| value:Number — 배정밀도 64비트 부동 소수점 숫자입니다. |
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeFloat(value:Number):voidIEEE 754 단정밀도 32비트 부동 소수점 숫자를 씁니다.
매개 변수
| value:Number — 단정밀도 32비트 부동 소수점 숫자입니다. |
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeInt(value:int):void부호 있는 32비트 정수를 씁니다.
매개 변수
| value:int — 부호 있는 정수로 바이트 값입니다. |
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeMultiByte(value:String, charSet:String):void지정된 문자 세트를 사용하여 파일 스트림, 바이트 스트림 또는 바이트 배열에 멀티바이트 문자열을 씁니다.
매개 변수
| value:String — 쓸 문자열 값입니다. |
| |
| charSet:String —
사용할 문자 세트를 나타내는 문자열입니다. 사용할 수 있는 문자 세트 문자열에는 "shift-jis", "cn-gb", "iso-8859-1" 등이 있습니다. 전체 목록은 지원되는 문자 세트를 참조하십시오.
|
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
참고 사항
public function writeObject(object:*):void파일 스트림, 바이트 스트림 또는 바이트 배열에 AMF 직렬 포맷으로 객체를 씁니다.
매개 변수
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
참고 사항
public function writeShort(value:int):void16비트 정수를 씁니다. 매개 변수의 하위 16비트가 사용되고, 상위 16비트는 무시됩니다.
매개 변수
| value:int — 정수로 바이트 값입니다. |
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeUnsignedInt(value:uint):void부호 없는 32비트 정수를 씁니다.
매개 변수
| value:uint — 부호 없는 정수로 바이트 값입니다. |
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeUTF(value:String):void파일 스트림, 바이트 스트림 또는 바이트 배열에 UTF-8 문자열을 씁니다. UTF-8 문자열의 바이트 단위 길이를 16비트 정수로 먼저 쓰고 문자열의 문자를 나타내는 바이트를 씁니다.
매개 변수
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
public function writeUTFBytes(value:String):void
UTF-8 문자열을 씁니다. writeUTF()와 비슷하지만 문자열 앞에 16비트 길이 워드를 추가하지 않습니다.
매개 변수
이벤트 | ioError:IOErrorEvent — 파일에 쓸 수 없습니다(예: 파일 누락). 이 이벤트는 비동기 작업을 위해 열린 파일(openAsync() 메서드 사용)에 대해서만 전달됩니다. |
오류 | IOError —
파일이 열리지 않았습니다. 파일이 열렸지만 쓰기 권한으로 열리지 않았습니다. 또는 동기 작업을 위해 열린 파일(open() 메서드 사용)에 대해서는 파일에 쓸 수 없습니다(예: 파일 누락).
|
이벤트 객체 유형: flash.events.Event속성 Event.type = flash.events.Event.CLOSE
close() 메서드를 명시적으로 호출하여 스트림이 닫혔음을 나타냅니다.
Event.CLOSE 상수는
close 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|
bubbles
|
false
|
cancelable
|
false; 취소할 기본 비헤이비어가 없습니다.
|
currentTarget
| 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target
| 연결이 종료된 객체입니다. |
참고 사항
이벤트 객체 유형: flash.events.Event속성 Event.type = flash.events.Event.COMPLETE스트림의 끝에 도달했음을 알립니다.
Event.COMPLETE 상수는
complete 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|
bubbles
|
false
|
cancelable
|
false; 취소할 기본 비헤이비어가 없습니다.
|
currentTarget
| 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target
| 로드가 완료된 네트워크 객체입니다. |
참고 사항
이벤트 객체 유형: flash.events.IOErrorEvent속성 IOErrorEvent.type = flash.events.IOErrorEvent.IO_ERROR비동기 파일 I/O 작업 중 오류가 발생했음을 나타냅니다.
ioError 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|
bubbles
|
false
|
cancelable
|
false; 취소할 기본 비헤이비어가 없습니다.
|
currentTarget
| 현재 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
errorID
| 특정 오류와 연결된 참조 번호입니다(AIR만 해당). |
target
| 입력/출력 오류가 발생한 네트워크 객체입니다. |
text
| 오류 메시지로 표시될 텍스트입니다. |
이벤트 객체 유형: flash.events.OutputProgressEvent속성 OutputProgressEvent.type = flash.events.OutputProgressEvent.OUTPUT_PROGRESS버퍼링된 데이터가 파일에 기록되었음을 알립니다.
outputProgress 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|
bubbles
|
false
|
bytesPending
| 리스너가 이벤트를 처리할 때 작성될 남은 바이트 수입니다. |
bytesTotal
| 쓰기 프로세스가 완료되면 최종적으로 작성될 총 바이트 수입니다. |
cancelable
|
false; 취소할 기본 비헤이비어가 없습니다.
|
currentTarget
| 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target
| 진행률을 보고하는 FileStream 객체입니다. |
이벤트 객체 유형: flash.events.ProgressEvent속성 ProgressEvent.type = flash.events.ProgressEvent.PROGRESS스트림에 있는 새 데이터의 가용성을 알립니다.
progress 이벤트 객체의
type 속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
| 속성 | 값 |
|---|
bubbles
|
false
|
bytesLoaded
| 리스너가 이벤트를 처리할 때 로드된 항목 수 또는 바이트 수입니다. |
bytesTotal
| 로드 프로세스가 완료되면 최종적으로 로드될 총 바이트 수 또는 항목 수입니다. |
cancelable
|
false; 취소할 기본 비헤이비어가 없습니다.
|
currentTarget
| 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target
| 진행률을 보고하는 객체입니다. |
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Thu Jan 8 2009, 02:16 AM -08:00