프로그래밍 언어/JAVA
[JAVA] java.io.File 의 mkdirs()와 mkdir() 차이
s워니얌
2023. 5. 10. 15:03
만약 기존의 폴더가 생성되어 있지 않다면 폴더를 생성하라는 다음과 같은 코드가 있다. 근데) 폴더 생성이 안되는 거 아닌가?? mkdirs()를 mkdir()로 불러왔기 때문이다. 그럼 그 차이가 무엇일까?
File uploadPath = new File(uploadFolder, getFolder());
log.info("upload path: " + uploadPath);
if(uploadPath.exists() == false) {
uploadPath.mkdir(); // 새로운 폴더 생성
}
JAVA API에서는 디렉토리를 생성하기 위해 , File.mkdir()과 File.mkdirs() 두 개의 API가 제공된다. 이 API는 모두 디렉토리를 생성하는 기능을 하지만, 세부적으로는 약간 틀린 기능을 한다.
File.mkdir() | 만들고자 하는 디렉토리의 상위 디렉토리가 존재하지 않을 경우, 생성 불가하다. ex) C:\uploadBook\2023\05\10 10 디렉토리를 만들고자 한다면 앞에 05 디렉토리가 있어야만 된다. |
File.mkdirs() | 만들고자 하는 디렉토리의 상위 디렉토리가 존재하지 않을 경우, 상위 디렉토리까지 생성한다. ex) C:\uploadBook 다음과 같은 폴더가 있을 때 C:\uploadBook\2023\05\10 이런식으로 폴더를 생성하고 싶다. 2023/05 디렉토리가 없어도 그 폴더까지 생성해준다. |
반응형