Error
[Java] java.io.FileNotFoundException '파일경로' (No such file or directory)
지구
2020. 1. 28. 10:02
java.io.FileNotFoundException '파일경로' (No such file or directory)
at java.at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.(FileOutputStream.java:187)
행안부 우편번호 API 를 개발하면서 발생한 에러. (삽질로 읽어야 함;;)
행안부에 나와있는 가이드 고대로 했는데 저런 에러가 발생해서 ㅋㅋㅋㅋㅋㅋㅋ
시간 촉박한데 정말 초난감 이었다 ;;
디버깅 모드로 해도 모르겠었는데 다음 날 다시 보니까, 원인을 찾았다.
new File(this.getFilePath() + "/" + dirPath).mkdir();
원인은 이 부분.
디버깅해보면 .mkdir() 부분에서 return 을 false 로 준다. 즉, 인자로 넘겨준 디렉토리를 생성하지 못했다는 뜻.
원인을 찾았으니 서칭을 해보니까
디렉토리 생성요청을 "aaa/bbb" 로 넘겨주면 aaa 폴더가 없으면 aaa 폴더도 만들어주고, bbb 폴더도 만들어줘야되는데
File.mkdir() 는 Windows 규칙이 아니라 Linux 규칙을 따라가서 중간 디렉토리를 생성해주지 않는 다는 것!!!!
결론은, aaa 폴더를 직접 만들어주고 요청하거나 File.mkdir() 에게는 중간 디렉토리 없이 요청하면 된다 ;ㅁ;
참고) https://stackoverflow.com/questions/12202766/file-mkdir-or-mkdirs-return-false-reason
반응형