진행하기 전에 특정 파일이 있는지 확인하는 조건이 있습니다 ( ./logs/error.log
). 찾을 수 없으면 만들고 싶습니다. 그러나
File tmp = new File("logs/error.log");
tmp.createNewFile();
logs/
존재하지 않는 경우 도 만드 시겠습니까?
답변
아니요 . 파일을 만들기 전에
사용하십시오 tmp.getParentFile().mkdirs()
.
답변
File theDir = new File(DirectoryPath);
if (!theDir.exists()) theDir.mkdirs();
답변
File directory = new File(tmp.getParentFile().getAbsolutePath());
directory.mkdirs();
디렉토리가 이미 존재하는 경우 아무 일도 일어나지 않으므로 검사 할 필요가 없습니다.
답변
자바 8 스타일
Path path = Paths.get("logs/error.log");
Files.createDirectories(path.getParent());
파일에 쓰려면
Files.write(path, "Log log".getBytes());
읽다
System.out.println(Files.readAllLines(path));
전체 예
public class CreateFolderAndWrite {
public static void main(String[] args) {
try {
Path path = Paths.get("logs/error.log");
Files.createDirectories(path.getParent());
Files.write(path, "Log log".getBytes());
System.out.println(Files.readAllLines(path));
} catch (IOException e) {
e.printStackTrace();
}
}
}
답변
StringUtils.touch(/path/filename.ext)
이제 (> = 1.3) 디렉토리와 파일이 존재하지 않으면 생성합니다.
답변
아니요, logs
존재하지 않으면 받게됩니다.java.io.IOException: No such file or directory
안드로이드 DEVS에 대한 재미있는 사실은 :의 좋아하는 통화 Files.createDirectories()
및 Paths.get()
분 API (26)를 지원할 때 작동합니다.