JAVA 디렉토리 생성 mkdir()과 mkdirs() 차이

자바에서 디렉토리를 생성할 때 사용하는 대표적인 함수로 mkdir()mkdirs()가 있습니다.

둘의 차이점은 무엇인지 샘플을 보면서 확인해보겠습니다.

 

mkdir()을 사용하여 디렉토리 생성

아래의 샘픔을 c:¥¥temp 경로에 log라는 새로운 폴더를 생성하려고 하고 있습니다.

C드라이브에 temp라는 폴더가 존재하면 temp폴더 안에 log라는 폴더가 생성이 되지만 temp폴더가 존재하지 않으면 디렉토리 생성 실패를 하게 됩니다.

mkdir() 함수는 생성하려는 폴더의 위치에 가기 전까지 폴더가 존재해야지만 새로 만들려고 하는 폴더를 생성할 수 있습니다.

import java.io.File;


class fileTest1{

  public static void main(String args[]){

    File newfile = new File("c:¥¥temp¥¥log");

    if (newfile.mkdir()){
      System.out.println("디렉토리 생성 성공");
    } else {
      System.out.println("디렉토리 생성 실패");
    }
  }
}

 

지정한 폴더에 log라는 폴더가 생성되었습니다.

 

mkdirs()을 사용하여 디렉토리 생성

이번에는 mkdirs()사용해서 log라는 디렉토리를 생성하도록 하겠습니다.

mkdir()와 차이점은 C드라이브에 temp라는 폴더가 없는 경우 temp 폴더를 생성하고 그 안에 log폴더를 생성합니다.

지정한 경로에 폴더가 없는 경우 폴더를 생성하여 마지막 지정한 폴더까지 생성해 줍니다.

import java.io.File;


class fileTest2{

  public static void main(String args[]){

    File newfile = new File("c:¥¥temp¥¥log");

    if (newfile.mkdirs()){
      System.out.println("디렉토리 생성 성공");
    } else {
      System.out.println("디렉토리 생성 실패");
    }
  }
}

 

함수내용
 mkdir()  한 번에 하나의 디렉토리만 생성.
 mkdirs()  한 번에 여러 디렉토리를 생성.

 

댓글