패키지 | flash.filesystem |
클래스 | public class File |
상속 | File FileReference EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
File 클래스에는 파일 시스템에 대한 정보를 가져오고 파일 및 디렉토리 복사 등의 작업을 수행하기 위한 여러 개의 속성과 메서드가 있습니다.
File 객체를 FileStream 클래스와 함께 사용하여 파일을 읽고 쓸 수 있습니다.
File 클래스는 FileReference 클래스를 확장합니다. Adobe® AIR®는 물론 Flash® Player에서도 사용할 수 있는 FileReference 클래스는 파일에 대한 포인터를 나타내지만 File 클래스는 보안 문제로 인해 Flash Player(브라우저에서 실행 중인 SWF)에서 노출되지 않는 속성 및 메서드를 추가합니다.
File 클래스에는 자주 사용하는 디렉토리 위치를 참조할 수 있도록 허용하는 정적 속성이 포함됩니다. 이러한 정적 속성은 다음과 같습니다.
-
File.applicationStorageDirectory
— 설치된 각 AIR 응용 프로그램에 고유한 저장소 디렉토리 -
File.applicationDirectory
— 응용 프로그램이 설치된 읽기 전용 디렉토리(설치된 모든 에셋 포함) -
File.desktopDirectory
— 사용자의 데스크톱 디렉토리 -
File.documentsDirectory
— 사용자의 문서 디렉토리 -
File.userDirectory
— 사용자 디렉토리
이러한 속성에는 다른 운영 체제에서 사용할 수 있는 값이 포함되어 있습니다. 예를 들어 Mac OS, Linux 및 Windows는 사용자 데스크톱의 디렉토리에 대한 기본 경로가 각각 다릅니다. 그러나 이러한 각각의 플랫폼에서 File.desktopDirectory
속성은 올바른 데스크톱 디렉토리 경로를 가리킵니다. 모든 플랫폼에서 잘 작동하는 응용 프로그램을 쓰려면 기본적으로 이러한 속성을 사용하여 응용 프로그램에서 사용되는 다른 파일을 참조하십시오. 그런 다음 resolvePath()
메서드를 사용하여 경로를 세부적으로 지정하십시오. 예를 들어 이 코드는 아래의 응용 프로그램 저장소 디렉토리에서 preferences.xml 파일을 가리킵니다.
var prefsFile:File = File.applicationStorageDirectory; prefsFile = prefsFile.resolvePath("preferences.xml");
파일을 참조할 때 리터럴 기본 경로를 사용하는 경우 하나의 플랫폼에서만 이 경로가 적용됩니다. 예를 들어 다음 File 객체는 Windows에서만 작동합니다.
new File("C:\Documents and Settings\joe\My Documents\test.txt")
특히 유용한 응용 프로그램 저장소 디렉토리는 AIR 응용 프로그램에 대해 응용 프로그램별 저장소 디렉토리를 제공합니다. 이 디렉토리는 File.applicationStorageDirectory
속성에 의해 정의됩니다. Mac OS에서는 이 위치가 AIR 3.2와 AIR 3.3 사이에 변경되었습니다.
응용 프로그램 디렉토리(AIR 응용 프로그램이 설치된 위치)에서 내용을 추가하거나 삭제하지 마십시오. 그럴 경우 AIR 응용 프로그램이 손상되거나 응용 프로그램 서명이 무효화될 수 있습니다. 모든 운영 체제에서 모든 사용자 계정에 대해 쓰기가 허용되지 않으므로 AIR에서도 기본적으로 응용 프로그램 디렉토리에 쓰기가 허용되지 않습니다. 내부 응용 프로그램 파일을 작성하려면 응용 프로그램 저장소 디렉토리를 사용하십시오. 응용 프로그램이 아닌 다른 곳에서 사용할 편집된 그림 또는 텍스트 파일을 작성하려면 문서 디렉토리를 사용하십시오.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
applicationDirectory : File [정적] [읽기 전용]
응용 프로그램의 설치된 파일을 포함하는 폴더입니다. | File | ||
applicationStorageDirectory : File [정적] [읽기 전용]
응용 프로그램의 전용 저장소 디렉토리입니다. | File | ||
cacheDirectory : File [정적] [읽기 전용]
응용 프로그램의 캐시 디렉토리입니다. | File | ||
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
creationDate : Date [읽기 전용]
로컬 디스크의 파일을 만든 날짜입니다. | FileReference | ||
creator : String [읽기 전용]
Mac OS X 이전의 Mac OS 버전에서만 사용된 파일의 Macintosh 작성자 유형입니다. | FileReference | ||
data : ByteArray [읽기 전용]
load() 메서드를 성공적으로 호출한 후 로드된 파일의 데이터를 나타내는 ByteArray 객체입니다. | FileReference | ||
desktopDirectory : File [정적] [읽기 전용]
사용자의 데스크톱 디렉토리입니다. | File | ||
documentsDirectory : File [정적] [읽기 전용]
사용자의 문서 디렉토리입니다. | File | ||
downloaded : Boolean
참조한 파일 또는 디렉토리를 (인터넷에서) 다운로드했는지 여부를 나타냅니다. | File | ||
exists : Boolean [읽기 전용]
참조된 파일 또는 디렉토리가 있는지 여부를 나타냅니다. | File | ||
extension : String [읽기 전용]
파일 이름 확장명입니다. | FileReference | ||
icon : Icon [읽기 전용]
파일에 대해 정의된 아이콘을 포함하는 Icon 객체입니다. | File | ||
isDirectory : Boolean [읽기 전용]
디렉토리가 참조되어 있는지 여부를 나타냅니다. | File | ||
isHidden : Boolean [읽기 전용]
참조된 파일 또는 디렉토리가 "숨겨져" 있는지 여부를 나타냅니다. 참조된 파일 또는 디렉토리가 숨겨져 있는 경우에는 값이 true이고, 그렇지 않은 경우에는 false입니다. | File | ||
isPackage : Boolean [읽기 전용]
참조된 디렉토리가 패키지인지 여부를 나타냅니다. | File | ||
isSymbolicLink : Boolean [읽기 전용]
참조가 심볼 링크인지 여부를 나타냅니다. | File | ||
lineEnding : String [정적] [읽기 전용]
호스트 운영 체제에서 사용한 행 끝 문자 시퀀스입니다. | File | ||
modificationDate : Date [읽기 전용]
로컬 디스크 파일의 가장 최근 수정 날짜입니다. | FileReference | ||
name : String [읽기 전용]
로컬 디스크에 있는 파일의 이름입니다. | FileReference | ||
nativePath : String
호스트 운영 체제 표현의 전체 경로입니다. | File | ||
parent : File [읽기 전용]
이 File 객체가 참조하는 파일 또는 디렉토리를 포함하는 디렉토리입니다. | File | ||
permissionStatus : String [정적] [읽기 전용]
응용 프로그램에 파일 시스템에 액세스할 수 있는 권한이 부여되었는지 여부를 확인합니다. | File | ||
preventBackup : Boolean
런타임에서 이 파일 객체를 클라우드에 백업하지 못하도록 차단하는지 여부를 나타냅니다. | File | ||
separator : String [정적] [읽기 전용]
호스트 운영 체제의 경로 구성 요소 분리 기호 문자입니다. | File | ||
size : Number [읽기 전용]
로컬 디스크에 있는 파일의 크기(바이트)입니다. | FileReference | ||
spaceAvailable : Number [읽기 전용]
이 File 위치에서 사용 가능한 공간(바이트)입니다. | File | ||
systemCharset : String [정적] [읽기 전용]
호스트 운영 체제에서 사용한 기본 인코딩입니다. | File | ||
type : String [읽기 전용]
파일 유형입니다. | FileReference | ||
url : String
이 파일 경로의 URL입니다. | File | ||
userDirectory : File [정적] [읽기 전용]
사용자의 디렉토리입니다. | File |
메서드 | 정의 주체 | ||
---|---|---|---|
File 클래스의 생성자 함수입니다. | File | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
업로드할 파일을 선택할 수 있는 파일 탐색 대화 상자를 표시합니다. | FileReference | ||
사용자가 디렉토리를 선택할 수 있는 디렉토리 선택 대화 상자를 표시합니다. | File | ||
사용자가 열 파일을 선택할 수 있는 [파일 열기] 대화 상자를 표시합니다. | File | ||
사용자가 열 파일을 하나 이상 선택할 수 있는 [파일 열기] 대화 상자를 표시합니다. | File | ||
사용자가 파일 대상을 선택할 수 있는 [파일 저장] 대화 상자를 표시합니다. | File | ||
[재정의]
대기 중인 비동기 작업을 취소합니다. | File | ||
File 경로를 정규화합니다. | File | ||
이 File 객체의 복사본을 반환합니다. | File | ||
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 newLocation 매개 변수로 지정된 위치에 복사합니다. | File | ||
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 destination 매개 변수로 지정된 위치에 복사하는 작업을 시작합니다. | File | ||
지정된 디렉토리 및 필요한 부모 디렉토리를 만듭니다. | File | ||
[정적]
새 임시 디렉토리에 대한 참조를 반환합니다. | File | ||
[정적]
새 임시 파일에 대한 참조를 반환합니다. | File | ||
디렉토리를 삭제합니다. | File | ||
비동기적으로 디렉토리를 삭제합니다. | File | ||
파일을 삭제합니다. | File | ||
비동기적으로 파일을 삭제합니다. | File | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
원격 서버에서 파일을 다운로드할 수 있는 대화 상자를 엽니다. | FileReference | ||
이 File 객체로 나타나는 디렉토리의 파일 및 디렉토리에 해당하는 File 객체의 배열을 반환합니다. | File | ||
이 File 객체로 나타나는 디렉토리의 내용에 해당하는 File 객체의 배열을 비동기적으로 검색합니다. | File | ||
두 File 경로 사이의 상대 경로를 찾습니다. | File | ||
[정적]
파일 시스템 루트 디렉토리를 나열하는 File 객체의 배열을 반환합니다. | File | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
사용자가 선택한 로컬 파일 로드를 시작합니다. | FileReference | ||
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 destination 매개 변수로 지정된 위치로 이동합니다. | File | ||
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 newLocation 매개 변수로 지정된 위치로 이동하는 작업을 시작합니다. | File | ||
파일 또는 디렉토리를 휴지통으로 이동합니다. | File | ||
비동기적으로 파일 또는 디렉토리를 휴지통으로 이동합니다. | File | ||
운영 체제가 이 파일 유형을 열기 위해 등록한 응용 프로그램에서 파일을 엽니다. | File | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
[재정의]
파일 시스템에 액세스할 수 있는 권한을 요청합니다. | File | ||
path 매개 변수(문자열)를 기반으로 이 File 객체 경로에 대한 상대 경로를 사용하여 새 File 객체를 만듭니다. | File | ||
로컬 파일 시스템에 파일을 저장할 수 있는 대화 상자를 엽니다. | FileReference | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void
원격 서버에 파일 업로드를 시작합니다. | FileReference | ||
인코딩 없이 URL로 파일 업로드를 시작합니다. | FileReference | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
대기 중인 비동기 작업이 취소될 때 전달됩니다. | File | |||
비동기 작업이 완료될 때 전달됩니다. | File | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
getDirectoryListingAsync() 메서드 호출로 인해 디렉토리 목록을 사용할 수 있을 때 전달됩니다. | File | |||
upload() 또는 uploadUnencoded() 메서드 호출로 HTTP를 통해 데이터 액세스를 시도하고 Adobe AIR에서 요청에 대한 상태 코드를 감지 및 반환할 수 있을 때 전달됩니다. | FileReference | |||
업로드에 실패하고 HTTP 상태 코드를 사용하여 실패를 설명할 수 있을 때 전달됩니다. | FileReference | |||
비동기 파일 작업 중 오류가 발생할 때 전달됩니다. | File | |||
업로드 또는 다운로드 작업이 시작될 때 전달됩니다. | FileReference | |||
응용 프로그램이 파일 시스템에 액세스할 수 있는 권한을 요청할 때 전달됩니다. | File | |||
파일 업로드 또는 다운로드 작업 중 주기적으로 전달됩니다. | FileReference | |||
작업이 보안 제약 조건을 위반할 때 전달됩니다. | File | |||
사용자가 파일 또는 디렉토리 탐색 대화 상자에서 파일이나 디렉토리를 선택할 때 전달됩니다. | File | |||
사용자가 browseForOpenMultiple() 메서드 호출로 인해 열린 대화 상자에서 파일을 선택할 때 전달됩니다. | File | |||
업로드에 성공한 후 서버에서 데이터가 수신되면 전달됩니다. | FileReference |
applicationDirectory | 속성 |
applicationDirectory:File
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
응용 프로그램의 설치된 파일을 포함하는 폴더입니다.
이 객체의 url
속성은 file
URL 스킴이 아닌 app
URL 스킴을 사용합니다. 따라서 url
문자열이 "file:"
이 아닌 "app:"
로 시작되도록 지정됩니다. 또한 File.applicationDirectory
디렉토리에 상대적인 File 객체를 만드는 경우(resolvePath()
메서드 사용) File 객체의 url
속성도 app
URL 스킴을 사용합니다.
참고: app:
URL 스킴을 사용하는 경로의 파일이나 디렉토리에는 쓸 수 없습니다. app:
URL 스킴을 사용하는 경로의 파일 또는 폴더를 삭제하거나 만들 수도 없습니다. 응용 프로그램 디렉토리에서 내용을 수정하는 것은 보안상 좋지 않은 관행이며, 일부 플랫폼에서는 운영 체제에 의해 차단됩니다. 응용 프로그램별 데이터를 저장하려면 응용 프로그램 저장소 디렉토리(File.applicationStorageDirectory
)를 사용하는 것이 좋습니다. 응용 프로그램 저장소 디렉토리에 있는 내용이 응용 프로그램 전용 기능(AIR API)에 액세스할 수 있도록 하려면 샌드박스 브리지를 사용하여 해당 기능을 노출하면 됩니다.
applicationDirectory
속성은 여러 플랫폼에서 작동되는 응용 프로그램 디렉토리를 참조할 수 있는 방법을 제공합니다. nativePath
또는 url
속성을 사용하여 응용 프로그램 디렉토리를 참조하기 위해 File 객체를 설정하는 경우 해당 경로가 유효한 플랫폼에서만 작동됩니다.
Android에서 응용 프로그램 디렉토리를 가리키는 File 객체의 nativePath
속성은 빈 문자열입니다. url
속성을 사용하여 응용 프로그램 파일에 액세스합니다.
구현
public static function get applicationDirectory():File
관련 API 요소
applicationStorageDirectory | 속성 |
applicationStorageDirectory:File
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
응용 프로그램의 전용 저장소 디렉토리입니다.
각 AIR 응용 프로그램에는 고유한 영구 응용 프로그램 저장소 디렉토리가 있으며, 이 디렉토리는 File.applicationStorageDirectory
에 처음 액세스할 때 만들어집니다. 이 디렉토리는 각 응용 프로그램 및 사용자에 대해 고유합니다. 이 디렉토리는 사용자별 또는 응용 프로그램별 데이터를 저장하기에 편리한 위치입니다.
AIR 응용 프로그램을 제거할 때는 제거 프로그램이 응용 프로그램 스토리지 디렉토리 및 해당 파일을 삭제하는지 여부가 플랫폼에 따라 결정됩니다.
이 객체의 url
속성은 file
URL 스킴이 아닌 app-storage
URL 스킴을 사용합니다. 따라서 url
문자열이 "file:"
이 아닌 "app-storage:"
로 시작되도록 지정됩니다. 또한 File.applicationStoreDirectory
디렉토리에 상대적인 File 객체를 만드는 경우(resolvePath()
메서드 사용) File 객체의 url
도 예제에서와 같이 app-storage
URL 스킴을 사용합니다.
applicationStorageDirectory
속성은 여러 플랫폼에서 작동되는 응용 프로그램 저장소 디렉토리를 참조할 수 있는 방법을 제공합니다. nativePath
또는 url
속성을 사용하여 응용 프로그램 저장소 디렉토리를 참조하기 위해 File 객체를 설정하는 경우 해당 경로가 유효한 플랫폼에서만 작동됩니다.
참고(Mac OS만 해당): Mac App Store 요구 사항을 준수하기 위해 이 디렉토리의 물리적 위치가 AIR 3.2와 AIR 3.3 사이에 변경되었습니다.
- 3.2 네임스페이스 이하: ~/Library/Preferences/appid/Local Store/
- 3.3 네임스페이스 이상: path/Library/Application Support/appid/Local Store/. 여기서 path는 ~/Library/Containers/bundle-id/Data(샌드박스 환경) 또는 ~ (샌드박스 환경 외부에서 실행되는 경우)
구현
public static function get applicationStorageDirectory():File
예제 ( 예제 사용 방법 )
import flash.filesystem.File; var tempFiles:File = File.applicationStorageDirectory; tempFiles = tempFiles.resolvePath("images/"); trace(tempFiles.url); // app-storage:/images
cacheDirectory | 속성 |
cacheDirectory:File
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 3.6 |
응용 프로그램의 캐시 디렉토리입니다.
cacheDirectory
속성은 캐시 디렉토리를 참조할 때 사용합니다. 응용 프로그램은 서버에서 다운로드한 파일 또는 다시 생성할 수 있는 파일을 저장할 때 캐시 디렉토리를 사용해야 합니다. 캐시 디렉토리에 저장해야 하는 파일의 예로는 매거진, 신문 및 맵 응용 프로그램이 사용하는 것과 같은 다운로드 가능한 내용, 데이터베이스 캐시 파일 등이 있습니다.
nativePath
또는 url
속성을 사용하여 캐시 디렉토리를 참조하기 위해 File 객체를 설정하는 경우 이는 해당 경로가 유효한 플랫폼에서만 작동합니다.
운영 체제가 캐시 디렉토리를 지원하지 않으면 cacheDirectory
가 null이 됩니다.
구현
public static function get cacheDirectory():File
desktopDirectory | 속성 |
desktopDirectory:File
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자의 데스크톱 디렉토리입니다.
desktopDirectory
속성은 여러 플랫폼에서 작동되는 데스크톱 디렉토리를 참조할 수 있는 방법을 제공합니다. nativePath
또는 url
속성을 사용하여 데스크톱 디렉토리를 참조하기 위해 File 객체를 설정하는 경우 해당 경로가 유효한 플랫폼에서만 작동됩니다.
운영 체제에서 데스크톱 디렉토리를 지원하지 않는 경우에는 파일 시스템에 있는 적합한 디렉토리가 대신 사용됩니다.
AIR for TV 장치에는 사용자의 데스크톱 디렉토리라는 개념이 없습니다. 따라서 desktopDirectory
속성은 File.userDirectory
속성과 동일한 디렉토리 위치를 참조합니다. 사용자 디렉토리는 응용 프로그램 내에서 고유합니다.
구현
public static function get desktopDirectory():File
예제 ( 예제 사용 방법 )
import flash.filesystem.File; var desktop:File = File.desktopDirectory; var files:Array = desktop.getDirectoryListing(); for (var i:uint = 0; i < files.length; i++) { trace(files[i].nativePath); }
documentsDirectory | 속성 |
documentsDirectory:File
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자의 문서 디렉토리입니다.
Windows에서는 내 문서 디렉토리입니다(예: C:\Documents and Settings\userName\My Documents). Mac OS에서 기본 위치는 /Users/userName/Documents입니다. Linux에서 기본 위치는 /home/userName/Documents(영어 시스템의 경우)이며 이 속성은 xdg-user-dirs
설정을 따릅니다.
documentsDirectory
속성은 여러 플랫폼에서 작동되는 문서 디렉토리를 참조할 수 있는 방법을 제공합니다. nativePath
또는 url
속성을 사용하여 문서 디렉토리를 참조하기 위해 File 객체를 설정하는 경우 해당 경로가 유효한 플랫폼에서만 작동됩니다.
운영 체제에서 문서 디렉토리를 지원하지 않는 경우에는 파일 시스템에 있는 적합한 디렉토리가 대신 사용됩니다.
AIR for TV 장치에는 사용자의 문서 디렉토리라는 개념이 없습니다. 따라서 documentsDirectory
속성은 File.userDirectory
속성과 동일한 디렉토리 위치를 참조합니다. 사용자 디렉토리는 응용 프로그램 내에서 고유합니다.
구현
public static function get documentsDirectory():File
예제 ( 예제 사용 방법 )
File.documentsDirectory
속성 및 File.createDirectory()
메서드를 사용하여 "AIR Test"라는 디렉토리가 사용자의 문서 디렉토리에 있도록 만듭니다.
import flash.filesystem.File; var directory:File = File.documentsDirectory; directory = directory.resolvePath("AIR Test"); File.createDirectory(directory); trace(directory.exists); // true
downloaded | 속성 |
downloaded:Boolean
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
참조한 파일 또는 디렉토리를 (인터넷에서) 다운로드했는지 여부를 나타냅니다.
이 속성은 파일을 다운로드한 것으로 플래그를 지정할 수 있는 운영 체제에서만 의미가 있습니다.
- Windows XP 서비스 팩 2 이상, Windows Vista
- Mac OS 10.5 이상
Linux와 같이 다운로드한 파일에 플래그를 지정하지 않는 시스템에서는 이 속성이 의미가 없으며, false
로 설정됩니다.
구현
public function get downloaded():Boolean
public function set downloaded(value:Boolean):void
관련 API 요소
exists | 속성 |
exists:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
참조된 파일 또는 디렉토리가 있는지 여부를 나타냅니다. File 객체가 기존 파일 또는 디렉토리를 가리키는 경우에는 값이 true
이고, 그렇지 않은 경우에는 false
입니다.
구현
public function get exists():Boolean
예제 ( 예제 사용 방법 )
File.exists
속성을 사용하여 파일의 존재를 확인합니다.
import flash.filesystem.*; var temp:File = File.createTempFile(); trace(temp.exists); // true temp.deleteFile(); trace(temp.exists); // false
icon | 속성 |
icon:Icon
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
파일에 대해 정의된 아이콘을 포함하는 Icon 객체입니다. Icon 객체는 다양한 아이콘 상태에 해당하는 BitmapData 객체의 배열입니다. Linux에서 Icon 객체는 아이콘을 포함하지 않습니다. Android에서 icon
속성은 null
입니다.
구현
public function get icon():Icon
예제 ( 예제 사용 방법 )
icon
배열에서 높이가 가장 높은 이미지를 찾는 방법을 보여 주며, 해당 이미지에 Bitmap 객체를 설정합니다.
import flash.filesystem.File; import flash.display.*; var directory:File = File.documentsDirectory; var bitmaps:Array = directory.icon.bitmaps; var bmpData:BitmapData = new BitmapData(1, 1); for (var i:uint = 0; i < bitmaps.length; i++) { if (bitmaps[i].height > bmpData.height) { bmpData = directory.icon.bitmaps[i]; } } var iconBmp:Bitmap = new Bitmap(bmpData);
isDirectory | 속성 |
isDirectory:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
디렉토리가 참조되어 있는지 여부를 나타냅니다. File 객체가 디렉토리를 가리키는 경우에는 값이 true
이고, 그렇지 않은 경우에는 false
입니다.
구현
public function get isDirectory():Boolean
예제 ( 예제 사용 방법 )
isDirectory
속성을 사용하여 파일이 아닌 디렉토리를 가리키는 File 객체만 나열합니다.
import flash.filesystem.*; var userDirFiles:Array = File.userDirectory.getDirectoryListing(); for (var i:uint = 0; i < userDirFiles.length; i++) { if (userDirFiles[i].isDirectory) { trace(userDirFiles[i].nativePath); } }
isHidden | 속성 |
isHidden:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
참조된 파일 또는 디렉토리가 "숨겨져" 있는지 여부를 나타냅니다. 참조된 파일 또는 디렉토리가 숨겨져 있는 경우에는 값이 true
이고, 그렇지 않은 경우에는 false
입니다.
구현
public function get isHidden():Boolean
예제 ( 예제 사용 방법 )
isHidden
속성을 사용하여 숨겨진 파일 및 디렉토리를 나열합니다.
import flash.filesystem.*; var userDirFiles:Array = File.userDirectory.getDirectoryListing(); for (var i:uint = 0; i < userDirFiles.length; i++) { if (userDirFiles[i].isHidden) { trace(userDirFiles[i].nativePath); } }
isPackage | 속성 |
isPackage:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
참조된 디렉토리가 패키지인지 여부를 나타냅니다.
참조된 디렉토리가 패키지인 경우에는 값이 true
이고, 그렇지 않은 경우에는 false
입니다. File 클래스는 패키지를 직접 만드는 것을 허용하지 않습니다.
- Mac OS에서는 디렉토리가 패키지로 지정될 수 있으며 Finder에서 디렉토리가 아니라 하나의 파일로 표시됩니다. 이 속성은 참조된 디렉토리가 패키지인 경우
true
로 설정되고, 파일이 디렉토리가 아니거나, 존재하지 않거나, 패키지가 아닌 경우에는false
로 설정됩니다. - 기타 운영 체제에서 이 속성은 항상
false
로 설정됩니다.
구현
public function get isPackage():Boolean
isSymbolicLink | 속성 |
isSymbolicLink:Boolean
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
참조가 심볼 링크인지 여부를 나타냅니다.
File 객체가 심볼 링크인 경우에는 값이 true
이고, 그렇지 않은 경우에는 false
입니다. File 클래스는 심볼 링크를 직접 만드는 것을 허용하지 않습니다.
심볼 링크는 파일이 디스크에 있는 다른 파일이나 디렉토리를 가리키는 것을 허용합니다. 비슷하기는 하지만 심볼 링크는 Mac OS의 별칭이나 Windows의 바로 가기와 다릅니다. 별칭이나 바로 가기는 항상 디렉토리가 아닌 파일로 보고되며, 별칭이나 바로 가기를 읽고 써도 해당 항목이 가리키는 원래 파일 또는 디렉토리는 전혀 영향을 받지 않습니다. 반면에 심볼 링크는 일반적으로 해당 항목이 가리키는 파일 또는 디렉토리처럼 동작합니다. 파일 또는 디렉토리로 보고될 수 있으며, 심볼 링크를 읽거나 쓰면 심볼 링크 자체가 아니라 해당 항목이 가리키는 파일 또는 디렉토리에 영향을 줍니다. 그러나 심볼 링크를 삭제하면 링크의 대상이 아니라 링크가 삭제됩니다.
Mac® OS®, Linux 및 Windows® Vista®는 심볼 링크를 지원합니다. 또한 Windows에서는 교차점(NTFS 파일 시스템에서 사용됨)을 참조하는 File 객체에 대한 isSymbolicLink
속성이 true
로 설정됩니다.
구현
public function get isSymbolicLink():Boolean
lineEnding | 속성 |
lineEnding:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
호스트 운영 체제에서 사용한 행 끝 문자 시퀀스입니다.
Mac OS 및 Linux에서는 줄 바꿈 문자(문자 코드 0x0A 16진수)입니다. Windows에서는 캐리지 리턴(문자 코드 0x0D 16진수)과 그 뒤에 있는 줄 바꿈 문자(문자 코드 0x0A 16진수)입니다.
구현
public static function get lineEnding():String
예제 ( 예제 사용 방법 )
str
)을 텍스트 파일에 쓰고, File.lineEnding
정적 속성을 사용하여 새 행 문자(코드에서는 정규식 /\n/g
로 표시됨)의 모든 인스턴스를 호스트 운영 체제의 기본 행 끝 문자로 바꿉니다.
import flash.filesystem.*; var str:String = "Hello\n" + "World\n"; str = str.replace(/\n/g, File.lineEnding); var file:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.WRITE); fileStream.writeUTF(str); fileStream.close();
nativePath | 속성 |
nativePath:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
호스트 운영 체제 표현의 전체 경로입니다. Mac OS 및 Linux에서는 슬래시(/) 문자를 경로 분리 기호로 사용합니다. 하지만 Windows에서는 슬래시 문자 또는 백슬래시(\) 문자를 경로 분리 기호로 사용하여 nativePath
속성을 설정할 수 있으며, AIR가 슬래시를 적절한 백슬래시 문자로 자동으로 바꿉니다.
코드를 작성하여 nativePath
속성을 직접 설정하기 전에 플랫폼별로 코드가 다를 수 있다는 것을 고려해야 합니다. 예를 들어 "C:\\Documents and Settings\\bob\\Desktop"
과 같은 기본 경로는 Windows에서만 유효합니다. 따라서 모든 플랫폼에서 유효하며 일반적으로 사용되는 디렉토리를 나타내는 아래의 정적 속성을 사용하는 것이 좋습니다.
File.applicationDirectory
File.applicationStorageDirectory
File.desktopDirectory
File.documentsDirectory
File.userDirectory
resolvePath()
메서드를 사용하여 이러한 디렉토리에 대한 상대 경로를 가져올 수 있습니다.
SWFLoader 클래스의 source
속성과 같은 일부 Flex API는 기본 경로(nativePath
속성)가 아닌 URL(File 객체의 url
속성)을 사용합니다.
구현
public function get nativePath():String
public function set nativePath(value:String):void
오류
ArgumentError — 경로의 구문이 잘못되었습니다.
| |
SecurityError — 호출자가 응용 프로그램 보안 샌드박스에 없습니다.
|
예제 ( 예제 사용 방법 )
nativePath
속성과 url
속성 사이의 차이점을 보여 줍니다. 주석은 예제 Windows 컴퓨터의 결과를 보여 줍니다.
import flash.filesystem.File; var docs:File = File.documentsDirectory; trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
parent | 속성 |
parent:File
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 File 객체가 참조하는 파일 또는 디렉토리를 포함하는 디렉토리입니다.
파일 또는 디렉토리가 존재하지 않으면 parent
속성이 포함하고 있는 디렉토리를 가리키는 File 객체를 해당 디렉토리가 존재하지 않는 경우에도 여전히 반환합니다.
이 속성은 resolvePath("..")
의 반환 값과 동일합니다. 단, 루트 디렉토리의 부모가 null
입니다.
구현
public function get parent():File
예제 ( 예제 사용 방법 )
parent
속성을 사용하여 임시 파일을 포함하고 있는 디렉토리를 보여 줍니다.
import flash.filesystem.File; var tempFile:File = File.createTempDirectory(); trace(tempFile.parent.nativePath); tempFile.deleteFile();
permissionStatus | 속성 |
preventBackup | 속성 |
separator | 속성 |
separator:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
호스트 운영 체제의 경로 구성 요소 분리 기호 문자입니다.
Mac OS 및 Linux에서는 슬래시(/) 문자입니다. Windows에서는 백슬래시(\) 문자입니다.
참고: String 리터럴에서 백슬래시 문자를 사용할 때는 "directory\\file.ext"
에서와 같이 두 번 입력해야 합니다. String 리터럴에서의 백슬래시 한 쌍은 String에서의 백슬래시 하나를 나타냅니다.
구현
public static function get separator():String
예제 ( 예제 사용 방법 )
getRelativePath()
메서드를 사용하여 디렉토리와 파일 사이의 상대 경로를 가져옵니다. 그런 다음 File.separator
static 속성을 사용하여 경로의 슬래시(/) 문자를 운영 체제에서 사용하는 분리 기호 문자로 바꿉니다. 분리 기호 문자는 Windows에서는 백슬래시(\) 문자이고, 다른 운영 체제에서는 슬래시 문자입니다.
import flash.filesystem.File; var directory:File = File.documentsDirectory.resolvePath("Apollo Test"); var file:File = File.documentsDirectory.resolvePath("Apollo Test/employees/bob/test.txt"); var relativePath:String = directory.getRelativePath(file); // employees/bob/test.txt relativePath = relativePath.replace(/\//g, File.separator); trace(relativePath);
replace()
메서드가 정규식 /\//g
를 사용하여 모든 슬래시 문자를 일치시킵니다.
spaceAvailable | 속성 |
spaceAvailable:Number
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.1 |
이 File 위치에서 사용 가능한 공간(바이트)입니다.
File 객체가 디렉토리를 참조하는 경우 spaceAvailable
은 해당 디렉토리에서 파일이 사용할 수 있는 공간을 나타냅니다. File 객체가 파일을 참조하는 경우 spaceAvailable
은 해당 파일이 커질 수 있는 공간을 나타냅니다. 해당 파일 위치가 존재하지 않으면 spaceAvailable
은 0으로 설정됩니다. File 객체가 심볼 링크를 참조하는 경우 spaceAvailable
은 심볼 링크가 가리키는 위치에서 사용 가능한 공간을 나타냅니다.
일반적으로 디렉토리나 파일에 사용할 수 있는 공간은 해당 디렉토리나 파일이 들어 있는 볼륨에서 사용 가능한 공간과 같습니다. 그러나 여유 공간에 계정 할당량 또는 디렉토리별 제한을 고려할 수 있습니다.
일반적으로 볼륨에 파일이나 디렉토리를 추가할 때는 파일의 실제 크기나 디렉토리 내용의 실제 크기보다 큰 공간이 필요합니다. 예를 들어 운영 체제에서 인덱스 정보를 저장할 추가 공간이 필요할 수 있습니다. 또는 필요한 디스크 섹터로 인해 추가 공간이 사용될 수 있습니다. 사용 가능한 공간은 동적으로 변경되기도 합니다. 따라서 보고된 파일 저장 공간이 모두 할당되지 않을 수도 있습니다.
구현
public function get spaceAvailable():Number
systemCharset | 속성 |
systemCharset:String
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
호스트 운영 체제에서 사용한 기본 인코딩입니다.
가능한 값으로는 "windows-1252"
"shift-jis"
, "cn-gb"
, "iso-8859-1"
등이 있습니다. 전체 목록은 지원되는 문자 세트를 참조하십시오.
FileStream 클래스의 readMultiByte()
및 writeMultiByte()
메서드를 사용할 때 이 값을 사용할 수 있습니다.
구현
public static function get systemCharset():String
관련 API 요소
예제 ( 예제 사용 방법 )
File.systemCharset
static 속성을 FileStream 객체의 readMultiByte()
메서드에 대한 호출의 charSet
매개 변수로 사용합니다.
import flash.filesystem.File; var file:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var fileStream:FileStream = new FileStream(); fileStream.open(file, FileMode.READ); var str:String = fileStream.readMultiByte(file.size, File.systemCharset); trace(str);
url | 속성 |
url:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 파일 경로의 URL입니다.
응용 프로그램 저장소 디렉토리 경로에 대한 참조인 경우 URL 스킴은 "app-storage"
이고 응용 프로그램 디렉토리 경로에 대한 참조인 경우 URL 스킴은 "app"
입니다. 기타 모든 경우 스킴은 "file"
입니다.
url
속성에 값을 할당할 때 "%20"
대신 공백 문자를 사용할 수 있습니다. 그러면 AIR에서 문자열을 자동으로 인코딩합니다. 즉, 공백을 "%20"
으로 변환합니다.
구현
public function get url():String
public function set url(value:String):void
오류
ArgumentError — URL 구문이 유효하지 않습니다.
| |
SecurityError — 호출자가 응용 프로그램 보안 샌드박스에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
nativePath
속성과 url
속성 사이의 차이점을 보여 줍니다. 주석은 예제 Windows 컴퓨터의 결과를 보여 줍니다.
import flash.filesystem.File; var docs:File = File.documentsDirectory; trace(docs.nativePath); // C:\Documents and Settings\turing\My Documents trace(docs.url); // file:///C:/Documents%20and%20Settings/turing/My%20Documents
userDirectory | 속성 |
userDirectory:File
[읽기 전용] 언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자의 디렉토리입니다.
Windows에서는 내 문서 디렉토리의 부모입니다(예: C:\Documents and Settings\userName). Mac OS에서는 /Users/userName입니다. Linux에서는 /home/userName입니다.
userDirectory
속성은 여러 플랫폼에서 작동되는 사용자 디렉토리를 참조할 수 있는 방법을 제공합니다. File 객체의 nativePath
또는 url
속성을 직접 설정하는 경우 해당 경로가 유효한 플랫폼에서만 작동됩니다.
운영 체제에서 사용자 디렉토리를 지원하지 않는 경우에는 파일 시스템에 있는 적합한 디렉토리가 대신 사용됩니다.
AIR for TV 장치에서 userDirectory
속성은 응용 프로그램 고유의 사용자 디렉토리를 참조합니다.
구현
public static function get userDirectory():File
예제 ( 예제 사용 방법 )
import flash.filesystem.File; var files:Array = File.userDirectory.listDirectory(); for (var i:uint = 0; i < files.length; i++) { trace(files[i].nativePath); }
File | () | 생성자 |
public function File(path:String = null)
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
File 클래스의 생성자 함수입니다.
path
인수를 전달하면 File 객체가 지정된 경로를 가리키고 nativePath
속성 및 url
속성이 해당 경로를 반영하도록 설정됩니다.
path
인수를 전달하여 파일 경로를 지정할 수 있더라도 플랫폼별로 코드가 다르게 나타날 수 있습니다. 예를 들어 "C:\\Documents and Settings\\bob\\Desktop"
과 같은 기본 경로 또는 "file:///C:/Documents%20and%20Settings/bob/Desktop"
과 같은 URL은 Windows에서만 유효합니다. 따라서 모든 플랫폼에서 유효하며 일반적으로 사용되는 디렉토리를 나타내는 아래의 정적 속성을 사용하는 것이 좋습니다.
File.applicationDirectory
File.applicationStorageDirectory
File.desktopDirectory
File.documentsDirectory
File.userDirectory
resolvePath()
메서드를 사용하여 이러한 디렉토리에 대한 상대 경로를 가져올 수 있습니다. 예를 들어 다음 코드에서는 응용 프로그램 저장소 내의 settings.xml 파일을 가리키도록 File 객체를 설정합니다.
var file:File = File.applicationStorageDirectory.resolvePath("settings.xml");
중요: path
매개 변수에서 URL 문자열을 전달하는 경우 해당 URL은 파일 경로를 확인하도록 디코딩됩니다. 예를 들어 new File("file:///c:/test/demo%20file%201%2e0.txt")
은 기본 경로 "c:\test\demo file 1.0.txt"를 사용하여 File 객체를 만듭니다. URL은 file:, app: 또는 app-storage: 스킴 접두어를 사용합니다. 그러나 유효한 URL 접두어를 생략하면 경로 문자열이 기본 경로처럼 취급되어 디코딩이 수행되지 않습니다. 따라서 잠재적으로 신뢰할 수 없는 소스에서 파생된 경로의 유효성을 검사하는 경우에는 이러한 비헤이비어를 고려해야 합니다. 단순히 입력 문자열의 유효성을 검사하면 URL 디코딩을 통해 공격자가 유효성 검사를 우회할 수 있습니다. 인스턴스화된 File 객체에 대한 최종 경로의 유효성을 항상 검사하십시오.
var file:File = new File( taintedString ); validate( file.nativePath ); //where validate() is your path validation function
path:String (default = null ) — 파일 경로입니다. URL을 사용하거나 기본 경로(플랫폼별) 표기법을 사용하여 경로를 지정할 수 있습니다.
URL을 지정하면
기본 경로를 지정하는 경우 Windows에서는 백슬래시 문자나 슬래시 문자를 이 인수에서 경로 분리 기호로 사용할 수 있습니다. Mac OS 및 Linux에서는 슬래시 문자를 사용합니다. 다음은 기본 경로 표기법을 사용하는
하지만 이 두 예에 대해서는 no |
오류
ArgumentError — path 매개 변수의 구문이 유효하지 않습니다.
|
관련 API 요소
browseForDirectory | () | 메서드 |
public function browseForDirectory(title:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자가 디렉토리를 선택할 수 있는 디렉토리 선택 대화 상자를 표시합니다. 사용자가 디렉토리를 선택하면 select
이벤트가 전달됩니다. select
이벤트의 target
속성은 선택된 디렉토리를 가리키는 File 객체입니다.
[디렉토리 선택] 대화 상자가 항상 다른 윈도우가 "소유한" 윈도우(owner
속성 값이 null이 아닌 윈도우) 앞에 표시되는 것은 아닙니다. 윈도우 순서 문제를 피하려면 이 메서드를 호출하기 전에 소속된 윈도우를 숨기십시오.
참고: Android 장치에서는 browseForDirectory()
가 지원되지 않습니다. File 객체가 즉시 cancel 이벤트를 전달합니다.
매개 변수
title:String — 대화 상자의 제목 표시줄에 표시되는 문자열입니다.
|
이벤트
cancel: — 사용자가 파일 열기 대화 상자에서 취소 버튼을 클릭할 때 전달됩니다.
| |
select: — 사용자가 디렉토리를 선택하고 디렉토리 선택 대화 상자를 닫을 때 전달됩니다.
| |
ioError: — 이 플랫폼에서는 탐색 작업이 지원되지 않습니다.
|
오류
IllegalOperationError — 현재 탐색 작업(browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory())을 실행 중입니다.
| |
SecurityError — 필요한 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
File.browseForDirectory()
메서드를 사용하여 사용자가 디렉토리를 선택할 수 있도록 합니다. 디렉토리를 선택하면 코드가 선택된 디렉토리의 내용을 trace()
출력에 나열합니다.
import flash.filesystem.File; import flash.events.Event; var directory:File = File.documentsDirectory; try { directory.browseForDirectory("Select Directory"); directory.addEventListener(Event.SELECT, directorySelected); } catch (error:Error) { trace("Failed:", error.message); } function directorySelected(event:Event):void { directory = event.target as File; var files:Array = directory.getDirectoryListing(); for(var i:uint = 0; i < files.length; i++) { trace(files[i].name); } }
browseForOpen | () | 메서드 |
public function browseForOpen(title:String, typeFilter:Array = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자가 열 파일을 선택할 수 있는 [파일 열기] 대화 상자를 표시합니다.
사용자가 파일을 선택하면 select
이벤트가 전달됩니다. select
이벤트의 target
속성은 선택된 파일을 가리키는 File 객체입니다.
[파일 열기] 대화 상자가 항상 다른 윈도우가 "소유한" 윈도우(owner
속성 값이 null이 아닌 윈도우) 앞에 표시되는 것은 아닙니다. 윈도우 순서 문제를 피하려면 이 메서드를 호출하기 전에 소속된 윈도우를 숨기십시오.
참고: Android 장치에서는 파일 대화 상자 제목을 설정할 수 없습니다. title
매개 변수는 무시됩니다.
매개 변수
title:String — 대화 상자의 제목 표시줄에 표시되는 문자열입니다.
| |
typeFilter:Array (default = null ) — 대화 상자에 표시되는 파일을 필터링하는 데 사용되는 FileFilter 인스턴스 배열입니다. 이 매개 변수를 생략하면 모든 파일이 표시됩니다. 자세한 내용은 FileFilter 클래스를 참조하십시오.
|
이벤트
cancel: — 사용자가 파일 열기 대화 상자에서 취소 버튼을 클릭할 때 전달됩니다.
| |
select: — 사용자가 파일을 선택하고 파일 열기 대화 상자를 닫을 때 전달됩니다.
| |
ioError: — 이 플랫폼에서는 탐색 작업이 지원되지 않습니다.
|
오류
IllegalOperationError — 현재 탐색 작업(browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory())을 실행 중입니다.
| |
SecurityError — 필요한 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
File.browseForOpen()
메서드를 사용하여 사용자가 텍스트 파일을 선택할 수 있도록 합니다. 파일을 선택하면 코드가 파일 데이터를 문자열로 읽어들입니다.
import flash.filesystem.*; import flash.events.Event; import flash.net.FileFilter; var fileToOpen:File = new File(); var txtFilter:FileFilter = new FileFilter("Text", "*.as;*.css;*.html;*.txt;*.xml"); try { fileToOpen.browseForOpen("Open", [txtFilter]); fileToOpen.addEventListener(Event.SELECT, fileSelected); } catch (error:Error) { trace("Failed:", error.message); } function fileSelected(event:Event):void { var stream:FileStream = new FileStream(); stream.open(event.target, FileMode.READ); var fileData:String = stream.readUTFBytes(stream.bytesAvailable); trace(fileData); }
browseForOpenMultiple | () | 메서드 |
public function browseForOpenMultiple(title:String, typeFilter:Array = null):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자가 열 파일을 하나 이상 선택할 수 있는 [파일 열기] 대화 상자를 표시합니다.
사용자가 파일을 선택하면 selectMultiple
이벤트가 전달됩니다. select
이벤트의 target
속성은 이 File 객체입니다. browseForOpen()
과 달리 browseForOpenMultiple()
메서드를 사용하면 이 File 객체가 선택된 파일을 참조하도록 업데이트되지 않습니다. 대신 최종 selectMultiple
이벤트에 선택된 파일의 배열이 포함됩니다.
[파일 열기] 대화 상자가 항상 다른 윈도우가 "소유한" 윈도우(owner
속성 값이 null이 아닌 윈도우) 앞에 표시되는 것은 아닙니다. 윈도우 순서 문제를 피하려면 이 메서드를 호출하기 전에 소속된 윈도우를 숨기십시오.
참고: Android 장치에서는 파일 대화 상자 제목을 설정할 수 없습니다. title
매개 변수는 무시됩니다.
매개 변수
title:String — 대화 상자의 제목 표시줄에 표시되는 문자열입니다.
| |
typeFilter:Array (default = null ) — 대화 상자에 표시되는 파일을 필터링하는 데 사용되는 FileFilter 인스턴스 배열입니다. 이 매개 변수를 생략하면 모든 파일이 표시됩니다. 자세한 내용은 FileFilter 클래스를 참조하십시오.
|
이벤트
cancel: — 사용자가 파일 열기 대화 상자에서 취소 버튼을 클릭할 때 전달됩니다.
| |
selectMultiple: — 사용자가 파일을 선택하고 파일 열기 대화 상자를 닫을 때 전달됩니다.
| |
ioError: — 이 플랫폼에서는 탐색 작업이 지원되지 않습니다.
|
오류
IllegalOperationError — 현재 탐색 작업(browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory())을 실행 중입니다.
| |
SecurityError — 필요한 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
File.browseForOpenMultiple()
메서드를 사용하여 사용자가 여러 파일을 선택할 수 있도록 합니다. 파일을 선택하면 코드가 선택된 파일의 경로를 출력합니다.
import flash.filesystem.*; import flash.events.FileListEvent; var docsDir:File = File.documentsDirectory; try { docsDir.browseForOpenMultiple("Select Files"); docsDir.addEventListener(FileListEvent.SELECT_MULTIPLE, filesSelected); } catch (error:Error) { trace("Failed:", error.message); } function filesSelected(event:FileListEvent):void { for (var i:uint = 0; i < event.files.length; i++) { trace(event.files[i].nativePath); } }
browseForSave | () | 메서드 |
public function browseForSave(title:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자가 파일 대상을 선택할 수 있는 [파일 저장] 대화 상자를 표시합니다.
사용자가 파일을 선택하면 select
이벤트가 전달됩니다. select
이벤트의 target
속성은 선택된 저장 대상을 가리키는 File 객체입니다.
[파일 저장] 대화 상자가 항상 다른 윈도우가 "소유한" 윈도우(owner
속성 값이 null이 아닌 윈도우) 앞에 표시되는 것은 아닙니다. 윈도우 순서 문제를 피하려면 이 메서드를 호출하기 전에 소속된 윈도우를 숨기십시오.
참고: Android 장치에서는 파일 대화 상자 제목을 설정할 수 없습니다. title
매개 변수는 무시됩니다.
매개 변수
title:String — 대화 상자의 제목 표시줄에 표시되는 문자열입니다.
|
이벤트
cancel: — 사용자가 파일 저장 대화 상자에서 취소 버튼을 클릭할 때 전달됩니다.
| |
select: — 사용자가 파일을 선택하고 파일 저장 대화 상자를 닫을 때 전달됩니다.
| |
ioError: — 이 플랫폼에서는 탐색 작업이 지원되지 않습니다.
|
오류
IllegalOperationError — 현재 탐색 작업(browseForOpen(), browseForOpenMultiple(), browseForSave(), browseForDirectory())을 실행 중입니다.
| |
SecurityError — 필요한 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
File.browseForSave()
메서드를 사용하여 사용자가 파일을 저장할 경로를 선택할 수 있도록 합니다. 파일을 선택하면 코드가 데이터를 선택된 파일 경로에 저장합니다.
import flash.filesystem.*; import flash.events.Event; var docsDir:File = File.documentsDirectory; try { docsDir.browseForSave("Save As"); docsDir.addEventListener(Event.SELECT, saveData); } catch (error:Error) { trace("Failed:", error.message); } function saveData(event:Event):void { var newFile:File = event.target as File; var str:String = "Hello."; if (!newFile.exists) { var stream:FileStream = new FileStream(); stream.open(newFile, FileMode.WRITE); stream.writeUTFBytes(str); stream.close(); } }
cancel | () | 메서드 |
canonicalize | () | 메서드 |
public function canonicalize():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
File 경로를 정규화합니다.
File 객체가 기존 파일이나 디렉토리를 나타내는 경우에는 정규화가 경로를 조정하여 경로가 실제 파일 또는 디렉토리 이름과 일치하도록 만듭니다. File 객체가 심볼 링크인 경우에는 정규화가 경로를 조정하여 링크가 가리키는 파일 또는 디렉토리와 일치하도록 만듭니다. 이때 해당 파일 또는 디렉토리가 실제로 존재하는지 여부는 관계가 없습니다. Linux와 같이 대/소문자가 구분되는 파일 시스템에서 이름의 대/소문자만 다른 여러 파일이 있는 경우 canonicalize()
메서드는 파일 시스템에 의해 결정되는 순서로 검색된 첫 번째 파일과 일치하도록 경로를 조절합니다.
또한 정규화는 Windows에서 짧은 파일 이름을 긴 파일 이름으로 변환합니다.
예제 ( 예제 사용 방법 )
canonicalize()
메서드를 사용하여 디렉토리 이름의 올바른 대소문자를 찾는 방법을 보여 줍니다. 이 예제를 실행하기 전에 컴퓨터의 바탕 화면에 AIR Test라는 디렉토리를 만드십시오.
import flash.filesystem.*; var path:File = File.desktopDirectory.resolvePath("air test"); trace(path.nativePath); path.canonicalize(); trace(path.nativePath); // ...\AIR Test
canonicalize()
메서드를 사용하여 Windows 디렉토리의 짧은 이름을 기준으로 긴 이름을 찾는 방법을 보여 줍니다. 이 예제에서는 C: 드라이브의 루트에 AIR Test 디렉토리가 있고, 시스템이 해당 디렉토리에 AIR~1라는 짧은 이름을 할당했다고 가정합니다.
import flash.filesystem.*; var path:File = new File(); path.nativePath = "C:\\AIR~1"; path.canonicalize(); trace(path.nativePath); // C:\AIR Test
clone | () | 메서드 |
copyTo | () | 메서드 |
public function copyTo(newLocation:FileReference, overwrite:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 newLocation
매개 변수로 지정된 위치에 복사합니다. 복사 프로세스는 가능한 경우 필요한 부모 디렉토리를 만듭니다. copyTo()를 사용하여 파일을 덮어쓰는 경우 파일 특성도 덮어씁니다.
매개 변수
newLocation:FileReference — 새 파일의 대상 위치입니다. 이 File 객체는 포함하고 있는 디렉토리의 경로를 지정하는 것이 아니라 최종 복사된 파일 또는 디렉토리를 지정합니다.
| |
overwrite:Boolean (default = false ) — false 이면 target 매개 변수로 지정된 파일이 이미 존재하는 경우 복사가 실패합니다. true 이면 이름이 같은 기존 파일 또는 디렉토리를 덮어씁니다.
|
오류
IOError — 소스가 존재하지 않거나, 대상이 존재하지만 overwrite 가 false 이거나, 소스를 대상으로 복사할 수 없거나, 소스와 대상이 같은 파일이나 폴더를 참조하지만 overwrite 가 true 로 설정되어 있습니다. Windows에서는 열려 있는 파일 또는 열려 있는 파일을 포함하는 디렉토리를 복사할 수 없습니다.
| |
SecurityError — 대상에 쓸 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
copyTo()
메서드를 사용하여 파일을 복사하는 방법을 보여 줍니다. 이 코드를 실행하기 전에 컴퓨터에서 문서 디렉토리의 AIR Test 하위 디렉토리에 test1.txt 파일을 만듭니다. 최종 복사된 파일의 이름은 test2.txt가 되고 마찬가지로 AIR Test 하위 디렉토리에 있습니다. overwrite
매개 변수를 true
로 설정하면 작업이 기존 test2.txt 파일을 덮어씁니다.
import flash.filesystem.File; import flash.events.Event; var sourceFile:FileReference = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:FileReference = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); if (sourceFile.copyTo(destination, true)) { trace("Done."); }
copyTo()
메서드를 사용하여 파일을 복사하는 방법을 보여 줍니다. 이 코드를 실행하기 전에 컴퓨터에서 홈 디렉토리의 AIR Test 하위 디렉토리에 test1.txt 파일을 만듭니다. 최종 복사된 파일의 이름은 test2.txt가 됩니다. try
및 catch
문은 오류에 응답하는 방법을 보여 줍니다.
import flash.filesystem.File; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); try { sourceFile.copyTo(destination, true); } catch (error:Error) { trace("Error:", error.message); }
copyToAsync | () | 메서드 |
public function copyToAsync(newLocation:FileReference, overwrite:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 destination
매개 변수로 지정된 위치에 복사하는 작업을 시작합니다.
완료 시 complete
이벤트(성공) 또는 ioError
이벤트(실패)가 전달됩니다. 복사 프로세스는 가능한 경우 필요한 부모 디렉토리를 만듭니다.
매개 변수
newLocation:FileReference — 새 파일의 대상 위치입니다. 이 File 객체는 포함하고 있는 디렉토리의 경로를 지정하는 것이 아니라 최종 복사된 파일 또는 디렉토리를 지정합니다.
| |
overwrite:Boolean (default = false ) — false 이면 target 파일로 지정된 파일이 이미 존재하는 경우 복사가 실패합니다. true 이면 작업이 같은 이름의 기존 파일 또는 디렉토리를 덮어씁니다.
|
이벤트
complete: — 파일 또는 디렉토리가 성공적으로 복사될 때 전달됩니다.
| |
ioError: — 소스가 존재하지 않거나, 대상이 존재하지만 overwrite 가 false 이거나, 소스를 대상으로 복사할 수 없거나, 소스와 대상이 같은 파일이나 폴더를 참조하지만 overwrite 가 true 로 설정되어 있습니다. Windows에서는 열려 있는 파일 또는 열려 있는 파일을 포함하는 디렉토리를 복사할 수 없습니다.
|
오류
SecurityError — 대상에 쓸 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
copyToAsync()
메서드를 사용하여 파일을 복사하는 방법을 보여 줍니다. 이 코드를 실행하기 전에 컴퓨터에서 문서 디렉토리의 AIR Test 하위 디렉토리에 test1.txt 파일을 만들어야 합니다. 최종 복사된 파일의 이름은 test2.txt가 되고 마찬가지로 AIR Test 하위 디렉토리에 있습니다. overwrite
매개 변수를 true
로 설정하면 작업이 기존 test2.txt 파일을 덮어씁니다.
import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/test2.txt"); sourceFile.copyToAsync(destination, true); sourceFile.addEventListener(Event.COMPLETE, fileCopiedHandler); function fileCopiedHandler(event:Event):void { trace("Done."); }
createDirectory | () | 메서드 |
public function createDirectory():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
지정된 디렉토리 및 필요한 부모 디렉토리를 만듭니다. 디렉토리가 이미 존재하면 액션이 수행되지 않습니다.
오류
IOError — 디렉토리가 존재하지 않거나 디렉토리를 만들 수 없습니다.
| |
SecurityError — 필요한 권한이 응용 프로그램에 없습니다.
|
예제 ( 예제 사용 방법 )
createDirectory()
메서드를 호출하면 파일을 이동하기 전에 AIR Test 디렉토리를 만들 수 있습니다.
import flash.filesystem.*; var source:File = File.desktopDirectory.resolvePath("test.txt"); var target:File = File.documentsDirectory.resolvePath("AIR Test/test.txt"); var targetParent:File = target.parent; targetParent.createDirectory(); source.moveTo(target, true);
createTempDirectory | () | 메서드 |
public static function createTempDirectory():File
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
새 임시 디렉토리에 대한 참조를 반환합니다. 시스템의 임시 디렉토리 경로에 있는 새 디렉토리입니다.
이 메서드를 사용하면 고유한 새 디렉토리인지를 확인하기 위해 시스템을 쿼리하지 않고도 고유한 새 디렉토리를 식별할 수 있습니다.
임시 디렉토리는 일부 장치에서는 자동으로 삭제되지 않기 때문에 응용 프로그램을 닫기 전에 삭제하는 것이 좋습니다.
반환값File — 새 임시 디렉토리를 참조하는 File 객체입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
createTempFile()
메서드를 사용하여 새 임시 디렉토리에 대한 참조를 얻습니다.
import flash.File; var temp:File = File.createTempDirectory(); trace(temp.nativePath);
createTempFile | () | 메서드 |
public static function createTempFile():File
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
새 임시 파일에 대한 참조를 반환합니다. 시스템의 임시 디렉토리 경로에 있는 새 파일입니다.
이 메서드를 사용하면 고유한 새 파일인지를 확인하기 위해 시스템을 쿼리하지 않고도 고유한 새 파일을 식별할 수 있습니다.
임시 파일은 자동으로 삭제되지 않기 때문에 응용 프로그램을 닫기 전에 삭제하는 것이 좋습니다.
반환값File — 새 임시 파일을 참조하는 File 객체입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
createTempFile()
메서드를 사용하여 새 임시 파일에 대한 참조를 얻습니다.
import flash.File; var temp:File = File.createTempFile(); trace(temp.nativePath);
deleteDirectory | () | 메서드 |
public function deleteDirectory(deleteDirectoryContents:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
디렉토리를 삭제합니다. 이 파일이 디렉토리에 대한 실제 심볼 링크인 경우에는 디렉토리가 아닌 링크가 제거됩니다.
매개 변수
deleteDirectoryContents:Boolean (default = false ) — 파일 또는 하위 디렉토리가 포함된 디렉토리를 삭제할 것인지 여부를 지정합니다. false 일 때는 디렉토리에 파일 또는 디렉토리가 포함되어 있을 경우 이 메서드를 호출하면 예외가 발생합니다.
|
오류
IOError — 디렉토리가 존재하지 않거나 디렉토리를 삭제할 수 없습니다. Windows에서는 열려 있는 파일이 포함된 디렉토리를 삭제할 수 없습니다.
| |
SecurityError — 디렉토리를 삭제할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
deleteDirectory()
메서드를 사용하여 디렉토리를 삭제합니다.
import flash.filesystem.File; var directory:File = File.documentsDirectory.resolvePath("Empty Junk Directory/"); File.createDirectory(directory); trace(directory.exists); // true directory.deleteDirectory(); trace(directory.exists); // false
deleteDirectoryAsync | () | 메서드 |
public function deleteDirectoryAsync(deleteDirectoryContents:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
비동기적으로 디렉토리를 삭제합니다. 이 파일이 디렉토리에 대한 실제 심볼 링크인 경우에는 디렉토리가 아닌 링크가 제거됩니다.
매개 변수
deleteDirectoryContents:Boolean (default = false ) — 파일 또는 하위 디렉토리가 포함된 디렉토리를 삭제할 것인지 여부를 지정합니다. false 일 때 디렉토리에 파일 또는 디렉토리가 포함되어 있을 경우 File 객체가 ioError 이벤트를 전달합니다.
|
이벤트
complete: — 디렉토리가 성공적으로 삭제될 때 전달됩니다.
| |
ioError: — 디렉토리가 존재하지 않거나 디렉토리를 삭제할 수 없습니다. Windows에서는 열려 있는 파일이 포함된 디렉토리를 삭제할 수 없습니다.
|
오류
SecurityError — 디렉토리를 삭제할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
deleteFile | () | 메서드 |
public function deleteFile():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
파일을 삭제합니다. 이 파일이 실제 심볼 링크인 경우에는 대상 파일이 아닌 링크가 제거됩니다.
오류
IOError — 파일이 존재하지 않거나 파일을 삭제할 수 없습니다. Windows에서는 현재 열려 있는 파일을 삭제할 수 없습니다.
| |
SecurityError — 파일을 삭제할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
deleteFile()
메서드를 호출하여 삭제합니다.
import flash.filesystem.*; var file:File = File.createTempFile(); trace(file.exists); // true file.deleteFile(); trace(file.exists); // false
deleteFileAsync | () | 메서드 |
public function deleteFileAsync():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
비동기적으로 파일을 삭제합니다. 이 파일이 실제 심볼 링크인 경우에는 대상 파일이 아닌 링크가 제거됩니다.
이벤트
complete: — 파일이 성공적으로 삭제될 때 전달됩니다.
| |
ioError: — 파일이 존재하지 않거나 파일을 삭제할 수 없습니다. Windows에서는 현재 열려 있는 파일을 삭제할 수 없습니다.
|
오류
SecurityError — 파일을 삭제할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
getDirectoryListing | () | 메서드 |
public function getDirectoryListing():Array
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 File 객체로 나타나는 디렉토리의 파일 및 디렉토리에 해당하는 File 객체의 배열을 반환합니다. 이 메서드는 하위 디렉토리의 내용을 탐색하지 않습니다.
반환값Array — File 객체의 배열입니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
getDirectoryListing()
메서드를 사용하여 사용자 디렉토리의 내용을 열거하는 방법을 보여 줍니다.
import flash.filesystem.File; var directory:File = File.userDirectory; var list:Array = directory.getDirectoryListing(); for (var i:uint = 0; i < list.length; i++) { trace(list[i].nativePath); }
getDirectoryListingAsync | () | 메서드 |
public function getDirectoryListingAsync():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 File 객체로 나타나는 디렉토리의 내용에 해당하는 File 객체의 배열을 비동기적으로 검색합니다.
이벤트
ioError: — 이 디렉토리를 읽을 수 있는 권한이 없거나 디렉토리가 존재하지 않습니다.
| |
directoryListing: — 디렉토리 내용이 성공적으로 열거되었습니다. contents 이벤트는 File 객체의 결과 배열인 files 속성을 포함합니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
getDirectoryListingAsync()
메서드를 사용하여 사용자 디렉토리의 내용을 열거하는 방법을 보여 줍니다.
import flash.filesystem.File; import flash.events.FileListEvent; var directory:File = File.userDirectory; directory.getDirectoryListingAsync(); directory.addEventListener(FileListEvent.DIRECTORY_LISTING, directoryListingHandler); function directoryListingHandler(event:FileListEvent):void { var list:Array = event.files; for (var i:uint = 0; i < list.length; i++) { trace(list[i].nativePath); } }
getRelativePath | () | 메서드 |
public function getRelativePath(ref:FileReference, useDotDot:Boolean = false):String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
두 File 경로 사이의 상대 경로를 찾습니다.
상대 경로는 두 번째(매개 변수) 참조를 찾기 위해 이 참조에 비교 확인을 위해 추가될 수 있는 구성 요소의 목록입니다. 상대 경로는 "/" 분리 기호 문자를 사용하여 반환됩니다.
선택적으로 상대 경로는 ".." 참조를 포함할 수 있지만 이러한 경로는 눈에 띄는 볼륨 경계선을 넘지 않습니다.
매개 변수
ref:FileReference — 경로가 지정된 File 객체입니다.
| |
useDotDot:Boolean (default = false ) — 최종 상대 경로가 ".." 구성 요소를 사용할 수 있는지를 지정합니다.
|
String — 가능한 경우 이 파일 또는 디렉토리와 ref 파일 또는 디렉토리 사이의 상대 경로입니다. 그렇지 않으면 null 입니다.
|
오류
ArgumentError — 참조가 null 입니다.
| |
SecurityError — 호출자가 응용 프로그램 보안 샌드박스에 없습니다.
|
getRootDirectories | () | 메서드 |
public static function getRootDirectories():Array
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
파일 시스템 루트 디렉토리를 나열하는 File 객체의 배열을 반환합니다.
예를 들어 Windows에서는 C: 드라이브 및 D: 드라이브와 같은 볼륨 목록입니다. 디스크가 삽입되지 않은 빈 드라이브(예: CD 또는 DVD 드라이브)는 이 배열에 포함되지 않습니다. Mac OS 및 Linux에서 이 메서드는 항상 시스템의 고유한 루트 디렉토리("/" 디렉토리)를 반환합니다.
Android 파일 시스템과 같이 루트를 읽을 수 없는 파일 시스템에서는 반환된 File 객체의 속성이 항상 올바른 값을 반영하는 것은 아닙니다. 예를 들어 Android에서 spaceAvailable
속성은 0을 보고합니다.
Array — 루트 디렉토리를 나열하는 File 객체의 배열입니다.
|
예제 ( 예제 사용 방법 )
import flash.filesystem.File; var rootDirs:Array = File.getRootDirectories(); for (var i:uint = 0; i < rootDirs.length; i++) { trace(rootDirs[i].nativePath); }
moveTo | () | 메서드 |
public function moveTo(newLocation:FileReference, overwrite:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 destination
매개 변수로 지정된 위치로 이동합니다.
파일의 이름을 변경하려면 destination
매개 변수가 파일의 디렉토리에 있는 경로를 가리키되 다른 파일 이름을 사용하도록 설정하십시오.
이동 프로세스는 가능한 경우 필요한 부모 디렉토리를 만듭니다.
매개 변수
newLocation:FileReference — 이동의 대상 위치입니다. 이 객체는 포함하고 있는 디렉토리의 경로를 지정하는 것이 아니라 최종 이동한 파일 또는 디렉토리의 경로를 지정합니다.
| |
overwrite:Boolean (default = false ) — false 이면 target 파일이 이미 존재하는 경우 이동이 실패합니다. true 이면 작업이 같은 이름의 기존 파일 또는 디렉토리를 덮어씁니다.
|
오류
IOError — 소스가 존재하지 않거나, 대상이 존재하지만 overwrite 가 false 로 설정되어 있거나, 소스 파일이나 디렉토리를 대상 위치로 이동할 수 없거나, 소스와 대상이 같은 파일이나 폴더를 참조하지만 overwrite 가 true 로 설정되어 있습니다. Windows에서는 열려 있는 파일 또는 열려 있는 파일을 포함하는 디렉토리를 이동할 수 없습니다.
| |
SecurityError — 파일을 이동할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
moveTo()
메서드를 사용하여 파일의 이름을 변경하는 방법을 보여 줍니다. 원래 파일 이름은 test1.txt이고 최종 파일 이름은 test2.txt입니다. 소스 및 대상 File 객체가 모두 같은 디렉토리인 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리를 가리키기 때문에 moveTo()
메서드가 파일을 새 디렉토리로 이동하는 대신 파일의 이름을 변경합니다. 이 코드를 실행하기 전에 컴퓨터에서 문서 디렉토리의 AIR Test 하위 디렉토리에 test1.txt 파일을 만듭니다. overwrite
매개 변수를 true
로 설정하면 작업이 기존 test2.txt 파일을 덮어씁니다.
import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("Apollo Test/test2.txt"); try { sourceFile.moveTo(destination, true); } catch (error:Error) { trace("Error:" + error.message); }
moveTo()
메서드를 사용하여 파일을 이동하는 방법을 보여 줍니다. 원래 파일은 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리에 있는 test1.txt 파일이며 메서드가 이 파일을 Results 하위 디렉토리로 이동합니다. 이 코드를 실행하기 전에 컴퓨터에서 홈 디렉토리의 AIR Test 하위 디렉토리에 test1.txt 파일을 만듭니다. try
및 catch
문은 오류에 응답하는 방법을 보여 줍니다.
import flash.filesystem.File; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("AIR Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("AIR Test/Results/test1.txt"); try { sourceFile.moveTo(destination, true); } catch (error:Error) { trace("Error:" + error.message); }
moveToAsync | () | 메서드 |
public function moveToAsync(newLocation:FileReference, overwrite:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
이 File 객체로 지정된 위치의 파일 또는 디렉토리를 newLocation
매개 변수로 지정된 위치로 이동하는 작업을 시작합니다.
파일의 이름을 변경하려면 destination
매개 변수가 파일의 디렉토리에 있는 경로를 가리키되 다른 파일 이름을 사용하도록 설정하십시오.
이동 프로세스는 가능한 경우 필요한 부모 디렉토리를 만듭니다.
매개 변수
newLocation:FileReference — 이동의 대상 위치입니다. 이 객체는 포함하고 있는 디렉토리의 경로를 지정하는 것이 아니라 최종 이동한 파일 또는 디렉토리의 경로를 지정합니다.
| |
overwrite:Boolean (default = false ) — false 이면 target 파일이 이미 존재하는 경우 이동이 실패합니다. true 이면 작업이 같은 이름의 기존 파일 또는 디렉토리를 덮어씁니다.
|
이벤트
complete: — 파일 또는 디렉토리가 성공적으로 이동했을 때 전달됩니다.
| |
ioError: — 소스가 존재하지 않거나, 대상이 존재하지만 overwrite 가 false 이거나, 소스를 대상으로 이동할 수 없거나, 소스와 대상이 같은 파일이나 폴더를 참조하지만 overwrite 가 true 로 설정되어 있습니다. Windows에서는 열려 있는 파일 또는 열려 있는 파일을 포함하는 디렉토리를 이동할 수 없습니다.
|
오류
SecurityError — 파일을 이동할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
moveToAsync()
메서드를 사용하여 파일의 이름을 변경하는 방법을 보여 줍니다. 원래 파일 이름은 test1.txt이고 최종 이름은 test2.txt입니다. 소스 및 대상 File 객체가 모두 같은 디렉토리인 사용자 문서 디렉토리의 Apollo Test 하위 디렉토리를 가리키기 때문에 moveToAsync()
메서드가 파일을 새 디렉토리로 이동하는 대신 파일의 이름을 변경합니다. 이 코드를 실행하기 전에 컴퓨터에서 문서 디렉토리의 Apollo Test 하위 디렉토리에 test1.txt 파일을 만듭니다. overwrite
매개 변수를 true
로 설정하면 작업이 기존 test2.txt 파일을 덮어씁니다.
import flash.filesystem.File; import flash.events.Event; var sourceFile:File = File.documentsDirectory; sourceFile = sourceFile.resolvePath("Apollo Test/test1.txt"); var destination:File = File.documentsDirectory; destination = destination.resolvePath("Apollo Test/test2.txt"); sourceFile.moveToAsync(destination, true); sourceFile.addEventListener(Event.COMPLETE, fileMoveCompleteHandler); function fileMoveCompleteHandler(event:Event):void { trace("Done.") }
moveToTrash | () | 메서드 |
public function moveToTrash():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
파일 또는 디렉토리를 휴지통으로 이동합니다.
참고: 복구 가능한 휴지통 폴더의 개념을 지원하지 않는 운영 체제에서는 파일이 즉시 제거됩니다.
오류
IOError — 운영 체제가 작업을 허용하지 않았거나 파일 또는 디렉토리가 존재하지 않습니다. Windows에서는 열려 있는 파일 또는 현재 열려 있는 파일을 포함하는 디렉토리를 이동할 수 없습니다.
| |
SecurityError — 파일을 휴지통으로 이동할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
moveToTrashAsync | () | 메서드 |
public function moveToTrashAsync():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
비동기적으로 파일 또는 디렉토리를 휴지통으로 이동합니다.
참고: 복구 가능한 휴지통 폴더의 개념을 지원하지 않는 운영 체제에서는 파일이 즉시 제거됩니다.
이벤트
ioError: — 운영 체제가 작업을 허용하지 않았거나 파일 또는 디렉토리가 존재하지 않습니다. Windows에서는 열려 있는 파일 또는 현재 열려 있는 파일을 포함하는 디렉토리를 이동할 수 없습니다.
| |
complete: — 파일 또는 디렉토리가 휴지통으로 성공적으로 이동했을 때 전달됩니다.
|
오류
SecurityError — 파일을 휴지통으로 이동할 수 있는 권한이 응용 프로그램에 없습니다.
|
관련 API 요소
openWithDefaultApplication | () | 메서드 |
public function openWithDefaultApplication():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2 |
운영 체제가 이 파일 유형을 열기 위해 등록한 응용 프로그램에서 파일을 엽니다.
AIR에서는 File.openWithDefaultApplication() 메서드를 사용하여 특정 파일을 열 수 없습니다. Windows에서는 AIR에서 특정 유형의 파일(아래에 나와 있는 특정 확장명을 가진 파일)을 열 수 없습니다. Mac OS 및 Linux의 경우 아래에 나열된 응용 프로그램에서 실행되는 파일은 열 수 없습니다. openWithDefaultApplication()
메서드를 사용하여 이러한 파일 중 하나를 열려고 하면 예외가 발생합니다. 그러나 기본 설치 프로그램으로 설치한 AIR 응용 프로그램(확장 데스크톱 프로파일 응용 프로그램)은 이러한 제한 사항으로 제한되지 않습니다. 따라서 모든 유형의 파일을 열 수 있습니다.
응용 프로그램 디렉토리에서는 문서를 열 수 없습니다.
아래 표에는 Windows에서 사용할 수 없는 파일 확장명과 Mac OS 및 Linux에서 사용할 수 없는 응용 프로그램이 나와 있습니다.
Windows 문서 확장명 | 종류 | 해당하는 Mac OS 응용 프로그램 | 해당하는 Linux 응용 프로그램 |
---|---|---|---|
bat | 일괄 처리 파일 명령 | 터미널 | 기본 응용 프로그램 없음 |
cmd | DOS 및 Windows 명령 파일 | 터미널 | 기본 응용 프로그램 없음 |
com | 명령 | 터미널 | 기본 응용 프로그램 없음 |
csh | UNIX csh 셸 스크립트 | 터미널 | /bin/csh |
dash | UNIX dash 셸 스크립트 | 터미널 | /bin/dash |
ksh | UNIX ksh 셸 스크립트 | 터미널 | /bin/ksh |
sh | UNIX 셸 스크립트 | 터미널 | /bin/bash |
tcsh | UNIX tcsh 셸 스크립트 | 터미널 | /bin/tcsh |
zsh | UNIX zsh 셸 스크립트 | 터미널 | /bin/zsh |
exe | 실행 파일 | 실행 비트, .app 확장명 | /lib/ld.so |
lnk | Windows 바로 가기 파일 | 실행 비트, .app 확장명 | Linux의 링크, 실행 비트 세트, 기본 응용 프로그램 없음 |
pif | 프로그램 정보 파일 | 실행 비트, .app 확장명 | 해당 사항 없음 |
reg | Windows 레지스트리 데이터 파일용 등록 정보/키 | 해당 사항 없음 | 해당 사항 없음 |
scf | Windows Explorer 명령 | ScriptEditor, AutomatorRunner | 해당 사항 없음 |
shb, shs | 셸 스크랩 객체 파일 | 해당 사항 없음 | 해당 사항 없음 |
prg | 프로그램 파일 | 해당 사항 없음 | 해당 사항 없음 |
vb, vbe, vbs | VBScript 파일 | 해당 사항 없음 | 해당 사항 없음 |
vsmacros | Visual Studio .NET 이진 기반 매크로 프로젝트 | 해당 사항 없음 | 해당 사항 없음 |
ws, wsc, wsf, wsh | Windows 스크립트 파일 | ScriptEditor, AutomatorRunner | 해당 사항 없음 |
fxp | Fox Pro 컴파일된 소스 코드 | 해당 사항 없음 | 해당 사항 없음 |
mas | Microsoft Access 저장 프로시저 | 해당 사항 없음 | 해당 사항 없음 |
scr | Windows 화면 보호기 | 해당 사항 없음 | 해당 사항 없음 |
py, pyc | Python 스크립트 파일 | Python | Python |
pl | Perl 스크립트 파일 | 터미널 | perl |
cgi | CGI(Common Gateway Interface) 스크립트 파일 | 터미널 | perl |
msi, msm, msp, mst, idt, cub, pcp | Windows 설치 프로그램 파일 | 설치 프로그램 | 해당 사항 없음 |
job | Windows 작업 스케줄러 작업 객체 | 해당 사항 없음 | 해당 사항 없음 |
jar, js, jse | Java 아카이브 파일, JavaScript 파일, JScript 인코딩 스크립트 파일 | JarLauncher | jar |
url | 인터넷 바로 가기 | 해당 사항 없음 | 해당 사항 없음 |
hta | HTML 응용 프로그램 | 해당 사항 없음 | 해당 사항 없음 |
Mac OS X 전용 | 종류 | Mac OS X 응용 프로그램 | 해당하는 Linux 응용 프로그램 |
---|---|---|---|
해당 사항 없음 | Mac OS X Java 애플릿 | AppletLauncher | 해당 사항 없음 |
해당 사항 없음 | Mac OS X AppleScript 플러그인 | systemevents | 해당 사항 없음 |
해당 사항 없음 | Mac OS X 위젯 | dock, dashboardlauncher | 해당 사항 없음 |
Linux 전용 문서 확장명 | 종류 | 해당하는 Mac OS X 응용 프로그램 | Linux 응용 프로그램 |
---|---|---|---|
rb | Ruby 셸 스크립트 | 해당 사항 없음 | ruby |
desktop | 데스크톱 파일 및 바로 가기 | 해당 사항 없음 | 기본 응용 프로그램 없음 |
directory | 디렉토리 파일 및 바로 가기 | 해당 사항 없음 | 기본 응용 프로그램 없음 |
오류
Error — (Mac OS 및 Linux) 파일을 열 수 있는 응용 프로그램을 찾을 수 없습니다. Windows의 경우 연결된 응용 프로그램이 없는 파일을 열려는 시도가 실패하며 예외가 발생하지 않습니다.
| |
IllegalOperationError — 파일이 응용 프로그램 디렉토리에 있거나 사용할 수 없는 파일 유형입니다. 기본 응용 프로그램 설치 프로그램으로 설치한 AIR 응용 프로그램(확장 데스크톱 프로파일 응용 프로그램)에 대해서는 이 오류가 적용되지 않습니다.
| |
IOError — 파일이 없거나 파일을 열기 위해 등록한 응용 프로그램이 없습니다.
| |
ReferenceError — 파일이 없습니다.
|
관련 API 요소
예제 ( 예제 사용 방법 )
import flash.filesystem.File; import flash.net.FileFilter; var file:File = File.documentsDirectory; var mp3Filter:FileFilter = new FileFilter("MP3 Files", "*.mp3"); file.browseForOpen("Open", [mp3Filter]); file.addEventListener(Event.SELECT, fileSelected); function fileSelected(e:Event):void { file.openWithDefaultApplication(); }
requestPermission | () | 메서드 |
override public function requestPermission():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 24.0 |
파일 시스템에 액세스할 수 있는 권한을 요청합니다.
이벤트
PermissionStatus: — 사용자가 요청된 권한을 부여/거부할 때 전달됩니다.
|
resolvePath | () | 메서드 |
public function resolvePath(path:String):File
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
path
매개 변수(문자열)를 기반으로 이 File 객체 경로에 대한 상대 경로를 사용하여 새 File 객체를 만듭니다.
상대 경로나 절대 경로를 path
매개 변수로 사용할 수 있습니다.
상대 경로를 지정하면 해당 path
가 File 객체의 경로에 "추가"됩니다. 그러나 ".."를 path
에 사용하면 결과 경로가 File 객체의 자식이 아닐 수 있습니다. 결과 참조는 실제 파일 시스템 위치를 참조하지 않아도 됩니다.
절대 파일 참조를 지정하는 경우 이 메서드는 해당 경로를 가리키는 File 객체를 반환합니다. 절대 파일 참조에는 사용자의 운영 체제에 맞는 기본 경로 구문(예: Windows의 경우 "C:\\test"
)을 사용해야 합니다. "file:///c:/test"
와 같은 URL을 path
매개 변수로 사용하지 마십시오.
모든 최종 경로는 다음과 같이 정규화됩니다.
- 모든 "." 요소는 무시됩니다.
- 모든 ".." 요소는 해당 부모 항목을 소비합니다.
- ".." 참조(파일 시스템 루트 또는 응용 프로그램의 영구 저장 장치 루트에 도달하는 참조)는 해당 노드를 전달하지 않으며 무시됩니다.
항상 슬래시( /
) 문자를 경로 분리 기호로 사용해야 합니다. Windows에서는 백슬래시(\
) 문자도 사용할 수 있지만 이 문자를 사용하면 안 됩니다. 백슬래시 문자를 사용하면 다른 플랫폼에서 작동하지 않는 응용 프로그램이 만들어질 수 있습니다.
Linux에서 파일 이름과 디렉토리 이름은 대/소문자를 구분합니다.
매개 변수
path:String — 이 File 객체의 경로에 추가할 경로(path 매개 변수가 상대 경로인 경우) 또는 반환할 경로(path 매개 변수가 절대 경로인 경우)입니다.
|
File — 결과 경로를 가리키는 새 File 객체입니다.
|
cancel | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.CANCEL
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
대기 중인 비동기 작업이 취소될 때 전달됩니다.
Event.CANCEL
상수는 cancel
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 작업이 취소된 객체에 대한 참조입니다. |
complete | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.COMPLETE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
비동기 작업이 완료될 때 전달됩니다.
Event.COMPLETE
상수는 complete
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 로드가 완료된 네트워크 객체입니다. |
directoryListing | 이벤트 |
flash.events.FileListEvent
속성 FileListEvent.type =
flash.events.FileListEvent.DIRECTORY_LISTING
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
getDirectoryListingAsync()
메서드 호출로 인해 디렉토리 목록을 사용할 수 있을 때 전달됩니다.
FileListEvent.DIRECTORY_LISTING
상수는 directoryListing
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
files | 검색된 파일 및 디렉토리를 나타내는 File 객체의 배열입니다. |
target | FileListEvent 객체입니다. |
관련 API 요소
ioError | 이벤트 |
flash.events.IOErrorEvent
속성 IOErrorEvent.type =
flash.events.IOErrorEvent.IO_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
비동기 파일 작업 중 오류가 발생할 때 전달됩니다.
ioError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
errorID | 특정 오류와 연결된 참조 번호입니다(AIR만 해당). |
target | 입력/출력 오류가 발생한 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
permissionStatus | 이벤트 |
flash.events.PermissionEvent
속성 PermissionEvent.type =
flash.events.PermissionEvent.PERMISSION_STATUS
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 24.0 |
응용 프로그램이 파일 시스템에 액세스할 수 있는 권한을 요청할 때 전달됩니다. status
속성 값을 검사하여 권한이 부여되었는지 아니면 거부되었는지 확인합니다.
관련 API 요소
securityError | 이벤트 |
flash.events.SecurityErrorEvent
속성 SecurityErrorEvent.type =
flash.events.SecurityErrorEvent.SECURITY_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
작업이 보안 제약 조건을 위반할 때 전달됩니다.
SecurityErrorEvent.SECURITY_ERROR
상수는 securityError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 보안 오류를 보고하는 네트워크 객체입니다. |
text | 오류 메시지로 표시될 텍스트입니다. |
select | 이벤트 |
flash.events.Event
속성 Event.type =
flash.events.Event.SELECT
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자가 파일 또는 디렉토리 탐색 대화 상자에서 파일이나 디렉토리를 선택할 때 전달됩니다.
Event.SELECT
상수는 select
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
currentTarget | 이벤트 리스너를 통해 Event 객체를 처리하고 있는 객체입니다. |
target | 항목이 선택된 객체입니다. |
selectMultiple | 이벤트 |
flash.events.FileListEvent
속성 FileListEvent.type =
flash.events.FileListEvent.SELECT_MULTIPLE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0 |
사용자가 browseForOpenMultiple()
메서드 호출로 인해 열린 대화 상자에서 파일을 선택할 때 전달됩니다.
FileListEvent.SELECT_MULTIPLE
상수는 selectMultiple
이벤트 객체의 type
속성 값을 정의합니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
files | 선택한 파일을 나타내는 File 객체의 배열입니다. |
target | FileListEvent 객체입니다. |
관련 API 요소
Tue Jun 12 2018, 03:17 PM Z