2012-03-11 2 views
0

그래서 while 루프에서 일련의 디렉토리를 만들려고합니다. 섹션을 만드는 파일에 대한 코드는 여기에 있습니다 : 폴더 경로가 이미 존재파일이 새 디렉토리 (mkdir)를 만들고 싶지 않습니다?

File userDIR=new File("Folder1//"+VARIABLENUMBER+"//"+VARIABLENUMBER+"_Single.txt"); 
      boolean exists = userDIR.exists(); 
      System.out.println(userDIR);//prints correct location 

      if (!exists) { 
       System.out.println("does not exist"); 
       userDIR.mkdir();//THIS IS NOT HAPPENING 
       System.out.println(userDIR.mkdir());//Prints FALSE? 

      }else{ 
       System.out.println("File Found"); 
      } 

경우가 난데 ...하지만 난 하나를 만들려고하면 - 그것은 (단지 종류의 생략) 작동하지 않습니다 거짓이라고 말하면 ...?

내가 잘못하고있는 것을 해결할 수 없습니까?

의견이나 제안에 감사드립니다.

답변

10

userDir.mkdirs이 아닌 mkdir을 사용해야한다고 생각합니다.

차이점은 후자가 가장 낮은 수준의 디렉터리 만 만들려고 시도하고 부모 디렉터리 중 하나라도 존재하지 않으면 실패합니다. 그러나 userDir.mkdirs은 존재하지 않는 상위 디렉토리도 생성합니다.

+0

놀라운 스터프 !! mkdirs가 있다는 것을 깨닫지 못했습니다 :) 모두 감사합니다! – Rabiani

0

변경 :

userDIR.mkdir(); 

사람 :

userDIR.mkdirs(); 
0

첫 번째 시도 내가) (존재 잘못 아니에요 경우, 둘째로 대신 MKDIR의 mkdirs을()()를 사용하는; 존재 여부에 관계없이 디렉토리의 경우 항상 true를 반환합니다.

0

창문에 있습니까? 파일 경로가 지정된 here 대신 // 대신 역 슬래시 \\를 사용하면 안됩니다.

관련 문제