최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

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
댓글