java.io.File 연속 속성 확인을 보고합니다.
isDirectory()isFile()lastModified()length()Files.readAttributes() 호출로 바꿀 수 있습니다.
일반적으로 이렇게 하는 것이 여러 개의 속성 검사를 개별적으로 하는 것보다 더 성능이 좋습니다.
예:
boolean isNewFile(File file, long lastModified) throws IOException {
return file.isFile() && file.lastModified() > lastModified;
}
빠른 수정을 적용한 후:
boolean isNewFile(File file, long lastModified) throws IOException {
var fileAttributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class);
return fileAttributes.isRegularFile() && fileAttributes.lastModifiedTime().toMillis() > lastModified;
}
IOException이 현재 컨텍스트에서 처리되지 않지만 빠른 수정이 여전히 사용 가능하면 이 검사에 경고가 표시되지 않습니다.
일반적으로 교체 코드는 완전히 동일하지 않으며 주의해서 적용해야 합니다. 특히 파일이 전혀 없는 경우에는 동작이 달라질 수 있습니다.
이 검사는 프로젝트 또는 모듈의 언어 수준이 7 이상인 경우에만 보고합니다.
2022.1의 새로운 기능