2012-07-18 1 views
0

java의 mkdir 메소드로 디렉토리를 만들려고합니다.Java의 mkdir 실패

액세스 제한으로 인해 실패하고 문제라고 생각합니다. Tomcat이 tomcat7 사용자로 실행 중이면 해당 폴더의 소유자도 tomcat7 사용자입니다. 모든 하위 폴더에는 동일한 소유자가 있습니다. 그러나이 방법은 여전히 ​​실패합니다 (경로가 유효합니다).

이러한 문제에 익숙한 사람이 있습니까? 감사합니다.

+0

디렉토리가 이미 존재하는 경우'mkdir()'은'false'를 리턴합니다. 모든 하위 폴더가 있습니까? 그렇지 않다면'mkdirs()'를 사용하십시오. – hmjd

+0

정확한 오류 메시지를 게시 할 수 있습니까? –

+0

SecurityException이 발생 했습니까? –

답변

1
public class TestClass6 { 
     public static void main(String[] args) 
    { 
     String path = "c:/folder1/folder2"; // path of the folder you want to create 
     File folder=new File(path); 
     boolean exist=folder.exists(); 
     if(!exist){ 
      folder.mkdirs(); 
     }else{ 
      System.out.println("folder already exist"); 
     } 
    } 
} 
+1

'folder2'라는 이름의 파일이 있다면이 코드는 여전히 실패 할 수 있습니다. 'exists' 대신'isDirectory'를 호출해야합니다. –

1

디렉토리가 있는지 먼저 확인해야합니다. mkdir은 디렉터리가 이미 있으면 false를 반환합니다. 그래서 의사 코드는 다음과 같습니다

또한
if exists(dir): 
    move on and do other things 
else: 
    File f = new File(dir); 
    f.mkdir(); 

, 당신이 당신의 기본 디렉토리로 사용하고있는 디렉토리에 w (쓰기) 권한이 있는지 확인하십시오.