[Java] File.mkdir()와 File.mkdirs() 차이점

Hoehenflug·2021년 11월 29일

File.mkdir()와 File.mkdirs()의 차이점을 알아보자

1. Java API에서의 디렉토리 생성

  • File.mkdir()와 File.mkdirs() 두 개의 API가 제공
  • 두 가지 모두 디렉토리를 생성하는 기능을 하지만 차이점이 존재

2. File.mkdir()

  • 만들고자 하는 디렉토리의 상위 디렉토리가 존재하지 않을 경우 생성 불가
package com.aaa.bbb.util;

import java.io.File;
import java.nio.file.Paths;

public class FileUtils {

	// 업로드 경로
	private final String uploadPath = Paths.get("C:").toString();

	public static void main(String args[]){

      // uploadPath에 해당하는 디렉토리 없으면, 부모 디렉토리 포함해 모든 디렉토리 생성 불가
      File dir = new File(uploadPath);
          if(dir.exists() == false) {
              dir.mkdir();
          }
    }
}

3. File.mkdirs()

  • 만들고자 하는 디렉토리의 상위 디렉토리가 존재하지 않을 경우 상위 디렉토리까지 생성
package com.aaa.bbb.util;

import java.io.File;
import java.nio.file.Paths;

public class FileUtils {

	// 업로드 경로
	private final String uploadPath = Paths.get("C:").toString();

	public static void main(String args[]){

      // uploadPath에 해당하는 디렉토리 없으면, 부모 디렉토리 포함해 모든 디렉토리 생성
      File dir = new File(uploadPath);
          if(dir.exists() == false) {
              dir.mkdirs();
          }
    }
}

0개의 댓글