Java의 createNewFile () - 디렉토리도 생성합니까?


Answers

아니.
파일을 작성하기 전에 tmp.getParentFile().mkdirs() 를 사용하십시오.

Question

계속 진행하기 전에 특정 파일이 있는지 확인하는 조건이 있습니다 ( ./logs/error.log ). 발견되지 않으면 나는 그것을 만들고 싶다. 그러나, 의지

File tmp = new File("logs/error.log");
tmp.createNewFile();

또한 logs/ 를 만들거나 존재하지 않는 경우?




File directory = new File(tmp.getParentFile().getAbsolutePath());
directory.mkdirs();

디렉토리가 이미 존재하면 아무 일도 일어나지 않으므로 검사 할 필요가 없습니다.




StringUtils.touch(/path/filename.ext) 는 현재 (> = 1.3) 디렉토리와 파일이없는 경우에도 만듭니다.




File theDir = new File(DirectoryPath);
if (!theDir.exists()) theDir.mkdir();