File 클래스에는 파일 또는 디렉토리를 복사하기 위한
copyTo()
및
copyToAsync()
라는 두 개의 메서드가 포함되어 있습니다. File 클래스에는 파일 또는 디렉토리를 이동하기 위한
moveTo()
및
moveToAsync()
라는 두 개의 메서드가 포함되어 있습니다.
copyTo()
및
moveTo()
메서드는 동기식으로 작동하고
copyToAsync()
및
moveToAsync()
메서드는 비동기적으로 작동합니다. 자세한 내용은
AIR 파일 기본 사항
을 참조하십시오.
파일을 복사 또는 이동하려면 두 개의 File 객체를 설정합니다. 한 객체는 복사 또는 이동할 파일을 가리키고 복사 또는 이동 메서드를 호출하는 객체이며 다른 객체는 대상(결과) 경로를 가리킵니다.
다음 예제에서는 사용자 문서 디렉토리의 AIR Test 하위 디렉토리에 있는 test.txt 파일을 같은 디렉토리에 copy.txt라는 파일로 복사합니다.
var original:File = File.documentsDirectory.resolvePath("AIR Test/test.txt");
var newFile:File = File.resolvePath("AIR Test/copy.txt");
original.copyTo(newFile, true);
이 예제에서는
copyTo()
메서드의
overwrite
매개 변수(두 번째 매개 변수)를
true
로 설정합니다.
overwrite
매개 변수를
true
로 설정하면 기존 대상 파일을 덮어쓰게 됩니다. 이 매개 변수는 선택적입니다. 이 매개 변수를
false
(기본값)로 설정하면 이 작업은 대상 파일이 있는 경우 IOErrorEvent 이벤트를 전달하며 파일이 복사되지 않습니다.
“비동기” 버전의 복사 및 이동 메서드는 비동기적으로 작동합니다. 다음 코드에서와 같이
addEventListener()
메서드를 사용하면 작업의 완료 또는 오류 조건을 모니터링할 수 있습니다.
var original = File.documentsDirectory;
original = original.resolvePath("AIR Test/test.txt");
var destination:File = File.documentsDirectory;
destination = destination.resolvePath("AIR Test 2/copy.txt");
original.addEventListener(Event.COMPLETE, fileMoveCompleteHandler);
original.addEventListener(IOErrorEvent.IO_ERROR, fileMoveIOErrorEventHandler);
original.moveToAsync(destination);
function fileMoveCompleteHandler(event:Event):void {
trace(event.target); // [object File]
}
function fileMoveIOErrorEventHandler(event:IOErrorEvent):void {
trace("I/O Error.");
}
또한 File 클래스에는 파일 또는 디렉토리를 시스템 휴지통으로 이동하는
File.moveToTrash()
및
File.moveToTrashAsync()
메서드가 포함되어 있습니다.