Как найти незаметные ресурсы ввода / вывода в Java?

Многие ресурсы ввода / вывода в 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, но они не поменяют вышеуказанный код как неправильный.

16
задан Andrew Swan 8 September 2011 в 04:38
поделиться