티스토리 뷰
https://serpiko.tistory.com/guestbook#comment8893801 질문에 대한 답글
FLfile 객체
목적
- FLfile API를 사용하여 파일 시스템에 접근하는 Flash 확장 기능 작성
설명
- FLfile 객체는 Flash MX 2004 7.2(..무려 20년;;) 에서부터 사용할 수 있으며
로컬 파일 시스템의 파일과 폴더에 접근, 수정, 삭제할 수 있는 Flash 확장 기능을 작성할 수 있게한다
- FLfile 객체는 JavaScript API를 확장한 형태로 제공된다
- 이 확장은 공유 라이브러리이며 다음 폴더에 위치한다
- Windows 7, 8
boot drive\Users\username\AppData\Local\Adobe\Flash CC\language\Configuration\External Libraries\FLfile.dll
- Max OS X
Macintosh HD/Users/username/Library/Application Support/Adobe/Flash CC/language/Configuration/External Libraries/FLfile.dll
- FLfile 메서드는 파일 또는 폴더(디렉토리)를 다루며, 파일이나 폴더의 위치를 지정하는 하나 이사으이 매개변수를 취한다
- 위치는 웹 사이트 URL과 매우 유사한 형식의 문자열로 표현되며, 파일 URL(Uniform Resource Identifier)이라 한다
- 다음과 같은 형식으로 지정된다 (따옴표 포함)
"file:///drive|/folder 1/folder 2/.../filename"
예시
- C드라이브에 "config" 라는 폴더를 만들고 "Program Files/MyApp" 폴더에 저장하려면 다음 명령을 사용한다.
FLfile.createFolder("file:///C|/Program Files/MyApp/config");
- 그 폴더에 "config.ini" 파일을 만드려면 아래와 같이
FLfile.write("file:///C|/Program Files/MyApp/config/config.ini", "");
- Mac에서 폴더를 만드려면 다음 명령어를 사용할 수 있다
FLfile.createFolder("file:///Macintosh/MyApp/config");
FLfile.remove()
사용
FLfile.remove(fileOrFolderURI)
매개변수
fileOrFolderURI: 삭제하려는 파일 또는 폴더를 지정하는 문자열(`file:///URI`로 표시해야 함)
반환값
Boolean: 성공시 true, 실패하면 false
설명
지정된 파일이나 폴더를 삭제합니다. 폴더에 파일이 포함된 경우 해당 파일도 삭제됩니다.
R(읽기 전용) 권한이 부여된 경우, 제거할 수 없습니다.
예시
다음의 예는 `file:///c|/temp/mydata.txt` 파일을 삭제하기위한 예제이다
- 삭제할 프롬프트를 입력받고 해당 파일이 존재하면 사용자에게 경고한뒤 `y 혹은 Y'를 선택하면
- 파일을 삭제하고 그 결과를 사용자에게 알럿창으로 알린다
var fileURI = prompt ("삭제할 파일 혹은 폴더를 입력하세요: ", "file:///c|/temp/delete.txt");
if (FLfile.exists(fileURI)) {
var confirm = prompt("파일이 존재합니다 삭제할까요?? (y/n)", "y");
if (confirm == "y" || confirm == "Y") {
if(FLfile.remove(fileURI)) {
alert(fileURI + " 파일이 삭제되었습니다.");
} else {
alert("다음 경로의 파일을 삭제에 실패하였습니다 " + fileURI);
}
}
} else {
alert(fileURI + " 해당 경로는 파일이 존재하지 않습니다.");
}
다음의 예는 `file:///c|/Users/myname/Downloads/test` 폴더를 바로 삭제하는 예이다
- 스크립트가 구동되면 해당 경로의 폴더를 바로 삭제하고 그 결과를 output panel에 알린다
var fileURI = "file:///c|/Users/myname/Downloads/test";
if(FLfile.exists(fileURI)){
if(FLfile.remove(fileURI)){
fl.trace(fileURI + " 가 삭제되었습니다");
} else {
fl.trace("삭제에 실패했습니다 " + fileURI)
}
} else {
fl.trace(fileURI + " 해당 경로는 파일이 존재하지 않습니다.");
}
응용의 예) 주의!!. 프로그램을 실행해 볼 수 없어서 가능한지에 대한 여부를 테스트해봐야 함
- 특정 폴더의 모든 파일은 => var fileURI = "file:///c|/Users/myname/Downloads/test/*";
- 특정 폴더의 모든 `.mov` 파일은 => var fileURI = "file:///c|/Users/myname/Downloads/test/*.mov";
- 특정 폴더 안에 폴더가 여러있어도 그 안의 모든 .mov 파일`은
var fileURI = "file:///c|/Users/myname/Downloads/**/*.mov";
'■ 플래시 ■ > Adobe Flash CS6' 카테고리의 다른 글
fla to mp4 (0) | 2023.11.28 |
---|---|
Flash CS6 - GIF Animation Export (0) | 2014.11.17 |
[Drawing]_jkDrawingTools (0) | 2014.03.06 |
flash2svg (0) | 2014.03.06 |
Layer Outlines, Lock, Show, Un Outlines (0) | 2014.03.06 |