XPLATFORM 101
만약 탐색기와 같은 애플리케이션 기능을 필요로 한다면
좀 애매하지 않을까 싶었습니다.

하지만 VirtualFile 메소드를 사용하게 되면 어느 정도 선까지는 접근을 할 수 있네요.
VirtualFile.getFileList("\\","*");
다른 폴더를 다루는 메소드와 마찬가지로 경로와 옵션을 설정합니다.
경로에서 현재 폴더(내폴더)를 사용하는 경우에는 "\\" 이라고 표기해주어야 합니다.

두번째 옵션은 정규표현식을 사용해서 목록을 필터링 할 수 있습니다.
"*"라고 표기해주면 그냥 다 가져오는 거죠.

이렇게 가져온 목록은 FileAttribute 객체의 목록으로 보여진다고 합니다.
FileAttribute 는 파일명, 생성시간, 수정시간, 크기 등의 정보를 제공합니다.
디버그 모드에서 확인해보면 아래와 같이 보이게 됩니다.


앞에 보여지는 번호는 그냥 index 번호입니다.
여기가지 접근이 가능하다면 파일 탐색기와 같은 기능을 만들 수도 있습니다.

폴더 여부를 확인하고자 한다면 isDirectory() 메소드를 사용하면 됩니다.
var vfList  = VirtualFile.getFileList("\\","*");
for(var i=0;i<vfList.length;i++)
{
trace(vfList[i].filename+" "+vfList[i].isDirectory());
}
http://cafe.naver.com/xplatform101/319
XPLATFORM 101
VirtualFile 에는 delete() 메소드는 있지만 create() 메소드는 없습니다.
앞에서 설명한 것을 다시 떠올려보면 open() 옵션에서 파일을 만드는 옵션이 있죠.
var vfile = new VirtualFile("abc.txt", VirtualFile.openWrite);
이렇게 써놓고 실행해보면 실제로 abc.txt 파일이 생성되어집니다.
만들어진 파일은 아무 내용도 써있지 않기 때문에 0kb가 됩니다.
메모장을 열어서 파일에 다른 내용을 채워보려고 하면 윈도우에서 삐익 하고 경고를 보냅니다.


아마 실행중인 애플리케이션이 아직 살아있기 때문일 겁니다.
애플리케이션을 종료하고 다시 메모장에서 텍스트를 입력하고 저장해보면 정상적으로 처리가 됩니다.

만약 애플리케이션이 실행된 상태에서 편집을 하고 싶다면
해당 파일을 닫아주어야 합니다.
vfile.close();
open을 했으니 close를 해주어야 겠죠.
close() 메소드를 실행하고 나면 애플리케이션이 실행된 상태에서 파일을 수정할 수 있습니다.

VirtualFile.openWrite 옵션을 사용하는 경우에는 기존에 지정된 파일이 있더라도 삭제하고 다시 생성을 합니다.
템플릿성으로 사용하는 파일을 다루는 경우에는 적절한 접근방법이겠지만 그렇지 않다면 파일이 초기화되는 것은 막아야 겠죠.
VirtualFile.openAppend를 사용하거나 VirtualFile.openCreate을 사용하게 되면
좀 더 안전하게 접근할 수 있습니다.

폴더의 경우에는 좀 다른데
폴더를 지울때와 마찬가지로 경로를 지정해서 생성합니다.
VirtualFile.createDirectory("af\\aff",true);
특정 폴더를 지정하게 되면 해당 폴더를 생성하고
하위 폴더를 기재하고 두번째 파라미터 옵션을 true로 설정하게 되면
하위 폴더까지 모두 생성해줍니다.

폴더를 생성하는 것은 애플리케이션과 프로세스가 물려있는 것은 아니기 때문에
애플리케이션 동작 여부와 상관없이 사용자가 폴더를 삭제하거나 이름을 수정할 수 있습니다.

폴더의 이름을 수정할때에는 renameDirectory() 메소드를 사용합니다.

http://cafe.naver.com/xplatform101/318 
XPLATFORM 101
파일을 컨트롤 할 수 있다는 것은 파일을 생성하고 읽고 수정하는 것뿐 아니라
삭제도 할 수 있다는 것입니다.

앞에서 얻어온 VirtualFile 객체를 삭제하려면 다음과 같이 처리합니다.
VirtualFile.delete(vfile);
그냥 한줄로 삭제가 이루어집니다. 물어보지도 않고
심지어는 휴지통으로 가지도 않습니다. 그냥 완전삭제를 해버립니다.


폴더 단위로도 삭제가 가능합니다.
deleteDirectory() 메소드를 사용하면 내문서 경로에 있는 폴더를 접근해서 삭제할 수 있습니다.

폴더 삭제시에는 옵션이 있는데 하위 폴더나 파일이 있는지 확인해서 삭제하지 못하게 설정할 수 있습니다.
기본값은 false 이고 true 로 설정하면 상관없이 그냥 지워버립니니다.

isExist() 메소드를 사용하면 해당하는 파일이나 폴더가 있는지 확인할 수 있습니다.

delete(), deleteDirectory(), isExist() 메소드의 특징은 생성자를 사용해서 접근하는 것이 아니라
그냥 VirtualFile.isExist(path)와 같이 접근하게 됩니다.

http://cafe.naver.com/xplatform101/317