오류 및 편의성 모음
STS4 JAVA 폴더 생성 오류
단데기이
2022. 6. 3. 10:55
728x90
// 폴더 생성
File uploadPath = new File(uploadFolder, datePath);
log.info(uploadPath);
if(uploadPath.exists()== false) {
uploadPath.mkdirs();
}
위 코드는 해결한 코드이다.
오늘 년월일을 구해서 datePath에 담아, C:\\abc\\2022\06\03 처럼 폴더를 생성하여 그곳에 파일을 저장하는 방식이다.
그런데 아무리 실행해도 폴더가 생성되지 않았다.
그래서 딴 경로로 C:\\abc\example 로 생성하였더니 이건 생성되었다.
이 문제는 내가 mkdir로 사용해서그렇다.
c:\\temp 경로에 log라는 새로운 폴더를 생성하려고 하고 있다.
C드라이브에 temp라는 폴더가 존재하면 temp폴더 안에 log라는 폴더가 생성이 되지만 temp폴더가 존재하지 않으면 디렉토리 생성 실패를 하게 된다.
mkdir() 함수는 생성하려는 폴더의 위치에 가기 전까지 폴더가 존재해야지만 새로 만들려고 하는 폴더를 생성할 수 있다.
mkdirs와 mkdir()의 차이점은 C드라이브에 temp라는 폴더가 없는 경우 temp 폴더를 생성하고 그 안에 log폴더를 생성한다.
지정한 경로에 폴더가 없는 경우 폴더를 생성하여 마지막 지정한 폴더까지 생성해준다.