报告连续多个 java.io.File 特性检查,例如: 这些调用可以替换为批量 Files.readAttributes 调用。 批量方法通常比多个特性检查更有效。

示例:


boolean isNewFile(File file, long lastModified) throws IOException {
  return file.isFile() && file.lastModified() > lastModified;
}

在应用快速修复后:


boolean isNewFile(File file, long lastModified) throws IOException {
  BasicFileAttributes fileAttributes = Files.readAttributes(file.toPath(), BasicFileAttributes.class);
  return fileAttributes.isRegularFile() && fileAttributes.lastModifiedTime().toMillis() > lastModified;
}

如果 IOException 在当前上下文中未被处理,则此检查不会显示警告,但快速修复仍然可用。

仅当项目或模块的语言级别为 7 或更高时,此检查才会报告。

2022.1 最新变化