-
[JAVA] java.io.File 의 mkdirs()와 mkdir() 차이프로그래밍 언어/JAVA 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 디렉토리가 없어도 그 폴더까지 생성해준다.반응형'프로그래밍 언어 > JAVA' 카테고리의 다른 글
[JAVA Stream] map, filter, sorted 사용법 알아보기 (0) 2023.05.24 [JAVA] java.io.File API 주요 메서드 (0) 2023.05.10 [JAVA] String, StringBuilder, StringBuffer의 차이점 알아보기 (0) 2023.04.26 [JAVA] ArrayList 값 출력하기 ( 인덱스, forEach, 확장 for문) (0) 2023.04.10 [ch12 자바 지네릭스] 개념, 다형성, Generic 타입 클래스 (0) 2023.02.27