JAVA/JAVA&JSP

[JSP] 폴더 삭제하기

saltdoll 2008. 1. 31. 18:03
반응형
MEMO(11/27/2019)
정말 오래된 글을 보며, 요즘은 함수도 좋아져서 한번에 다 지워지는데. 여튼 오래만에 감회가 새롭네요.

 

 

서버에 있는 폴더 삭제 

서버에서 폴더나 파일을 생성하게 되면 FTP 프로그램으로는 삭제가 안 되고

반드시 프로그래밍으로 삭제를 해야만 되더군요.

그래서 이번에 폴더에 파일이 있더라도 한꺼번에 삭제하는 로직을 만들어 보았습니다.

folder 삭제하기

//너부리님의 지적으로 함수를 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

 
 

반응형
도움이 되셨다면 하트모양의 "♡ 공감"을 눌러주시면 큰 격려가 됩니다.
(로그인하지 않으셔도 가능)