Многие ресурсы ввода / вывода в Java, такие как входные данные и выходные данные, должны быть закрыты, когда они будут завершены, как обсуждалось здесь Отказ
Как я могу искать мой проект для мест, где такие ресурсы не закрываются, например, Такой вид ошибки:
private void readFile(File file) throws IOException {
InputStream in = new FileInputStream(file);
int nextByte = in.read();
while (nextByte != -1) {
// Do something with the byte here
// ...
// Read the next byte
nextByte = in.read();
}
// Oops! Not closing the InputStream
}
Я пробовал некоторые инструменты статического анализа, такие как PMD и FindBugs, но они не поменяют вышеуказанный код как неправильный.