디렉토리 / 폴더를 작성하는 방법
테스트를 마치면 System.getProperty("user.home");
새 폴더가없는 경우에만 디렉토리 (디렉토리 이름 “new folder”)를 작성해야합니다.
답변
~ 7 년 후, Bozho가 제안한 더 나은 접근 방식으로 업데이트하겠습니다.
new File("/path/directory").mkdirs();
더 이상 사용되지 않음 :
File theDir = new File("new folder");
// if the directory does not exist, create it
if (!theDir.exists()) {
System.out.println("creating directory: " + theDir.getName());
boolean result = false;
try{
theDir.mkdir();
result = true;
}
catch(SecurityException se){
//handle it
}
if(result) {
System.out.println("DIR created");
}
}
답변
new File("/path/directory").mkdirs();
여기에서 “디렉토리”는 만들거나 존재하려는 디렉토리의 이름입니다.
답변
Java 7을 사용하면 Files.createDirectories()
.
예를 들어 :
Files.createDirectories(Paths.get("/path/to/directory"));
답변
FileUtils # forceMkdir을 사용해 볼 수 있습니다
FileUtils.forceMkdir("/path/directory");
이 라이브러리 에는 유용한 기능이 많이 있습니다.
답변
mkdir vs mkdirs
단일 디렉토리를 사용하려면 mkdir
new File("/path/directory").mkdir();
폴더 구조의 계층 구조를 작성하려면 mkdirs
new File("/path/directory").mkdirs();
답변
-
단일 디렉토리를 작성하십시오.
new File("C:\\Directory1").mkdir();
-
“Directory2″및 모든 서브 디렉토리 “Sub2″및 “Sub-Sub2″로 이름 지정된 디렉토리를 작성하십시오.
new File("C:\\Directory2\\Sub2\\Sub-Sub2").mkdirs()
출처 :이 완벽한 자습서 , 사용 예도 있습니다.
답변
Java 7 이상 :
Path path = Paths.get("/your/path/string");
Files.createDirectories(path);
createDirectories javadocs에서 작성하기 전에 디렉토리 또는 파일의 존재를 점검 할 필요가없는 것 같습니다 .
존재하지 않는 모든 상위 디렉토리를 먼저 작성하여 디렉토리를 작성합니다. createDirectory 메소드와 달리 디렉토리가 이미 존재하여 디렉토리를 작성할 수없는 경우 예외가 발생하지 않습니다. attrs 매개 변수는 존재하지 않는 디렉토리를 작성할 때 원자 적으로 설정하기위한 선택적 파일 속성입니다. 각 파일 속성은 이름으로 식별됩니다. 동일한 이름의 속성이 둘 이상 배열에 포함 된 경우 마지막 항목을 제외한 모든 속성이 무시됩니다.
이 방법이 실패하면 부모 디렉토리의 전부는 아니지만 일부를 만든 후에 그렇게 할 수 있습니다.