JAVA/JAVA&JSP
[JSP] 폴더 삭제하기
saltdoll
2008. 1. 31. 18:03
반응형
MEMO(11/27/2019) 정말 오래된 글을 보며, 요즘은 함수도 좋아져서 한번에 다 지워지는데. 여튼 오래만에 감회가 새롭네요. |
서버에 있는 폴더 삭제
서버에서 폴더나 파일을 생성하게 되면 FTP 프로그램으로는 삭제가 안 되고
반드시 프로그래밍으로 삭제를 해야만 되더군요.
그래서 이번에 폴더에 파일이 있더라도 한꺼번에 삭제하는 로직을 만들어 보았습니다.
//너부리님의 지적으로 함수를 3개에서 1개로 줄였습니다.
역시 벡터에 리스트를 집어 넣는 것보다는 그 자리에서 바로 지우는 게 낫군요.
지적 감사드리고요. 너부리님 사이트는 없어져 버렸는지 요즘은 못 가니까 아쉽네요..^^
<%!
public void deleteFolder(String parentPath) {
File file = new File(parentPath);
String[] fnameList = file.list();
int fCnt = fnameList.length;
String childPath = "";
for (int i = 0; i < fCnt; i++) {
childPath = parentPath+"/"+fnameList[i];
File f = new File(childPath);
if ( ! f.isDirectory()) {
f.delete(); // 파일이면 바로 삭제
} else {
deleteFolder(childPath);
}
}
File f = new File(parentPath);
f.delete(); // 폴더는 맨 나중에 삭제
}
%>
== 댓글 ==
주제넘은 말 같지만 Vector에 파일 정보를 담을 필요 없이 바로 지우는 게 더 좋을 것 같네요.
서버에 파일이 아주 많다면 괜시리 메모리 잡아먹을 테고 Vector에 추가하고 꺼내서 재처리를 해야 하니 성능도 떨어질 것이고요.
getChildPath를 수정을 해보시는 건 어떠신지...
너부리
2007-10-12 11:06:40
반응형