[java] Java로 디렉토리를 작성하는 방법은 무엇입니까?

디렉토리 / 폴더를 작성하는 방법

테스트를 마치면 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();


답변

  1. 단일 디렉토리를 작성하십시오.

    new File("C:\\Directory1").mkdir();
  2. “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 매개 변수는 존재하지 않는 디렉토리를 작성할 때 원자 적으로 설정하기위한 선택적 파일 속성입니다. 각 파일 속성은 이름으로 식별됩니다. 동일한 이름의 속성이 둘 이상 배열에 포함 된 경우 마지막 항목을 제외한 모든 속성이 무시됩니다.

이 방법이 실패하면 부모 디렉토리의 전부는 아니지만 일부를 만든 후에 그렇게 할 수 있습니다.