load() 및 save() 메서드 사용
Flash Player 10 이상, Adobe AIR 1.5 이상
Flash Player 10에서는 FileReference 클래스에
load()
및
save()
메서드가 추가되었습니다. 이러한 메서드는 AIR 1.5에도 있으며 File 클래스는 FileReference 클래스의 메서드를 상속합니다. 이러한 메서드는 사용자가 Flash Player에서 파일 데이터를 안전하게 로드 및 저장할 수 있도록 설계되었습니다. 그러나 AIR 응용 프로그램에서 이러한 메서드를 사용하여 파일을 쉽게 비동기적으로 로드 및 저장할 수도 있습니다.
예를 들어 다음 코드에서는 문자열을 텍스트 파일에 저장합니다.
var file:File = File.applicationStorageDirectory.resolvePath("test.txt");
var str:String = "Hello.";
file.addEventListener(Event.COMPLETE, fileSaved);
file.save(str);
function fileSaved(event:Event):void
{
trace("Done.");
}
save()
메서드의
data
매개 변수는 String, XML 또는 ByteArray 값을 사용할 수 있습니다. 인수가 String 또는 XML 값이면 이 메서드는 파일을 UTF-8 인코딩 텍스트 파일로 저장합니다.
이 코드 샘플이 실행되면 응용 프로그램에 사용자가 저장된 파일 대상을 선택하는 대화 상자가 표시됩니다.
다음 코드에서는 UTF-8 인코딩 텍스트 파일에서 문자열을 로드합니다.
var file:File = File.applicationStorageDirectory.resolvePath("test.txt");
file.addEventListener(Event.COMPLETE, loaded);
file.load();
var str:String;
function loaded(event:Event):void
{
var bytes:ByteArray = file.data;
str = bytes.readUTFBytes(bytes.length);
trace(str);
}
FileStream 클래스는
load()
및
save()
메서드가 제공하는 것보다 많은 기능을 제공합니다.
-
FileStream 클래스를 사용하여 동기 및 비동기적으로 데이터를 읽고 쓸 수 있습니다.
-
FileStream 클래스를 사용하면 점증적으로 파일에 쓸 수 있습니다.
-
FileStream 클래스를 사용하면 파일을 열어 임의로 액세스할 수 있습니다(파일의 모든 섹션에서 읽고 쓸 수 있음).
-
FileStream 클래스를 사용하면
open()
또는
openAsync()
메서드의
fileMode
매개 변수를 설정하여 파일에 대한 파일 액세스 유형을 지정할 수 있습니다.
-
FileStream 클래스를 사용하면 사용자에게 [열기] 또는 [저장] 대화 상자를 제공하지 않고도 파일에 데이터를 저장할 수 있습니다.
-
FileStream 클래스로 데이터를 읽으면 바이트 배열 이외의 유형을 직접 사용할 수 있습니다.
|
|
|