2015-08-10 5 views
8

Когда я работаю с классами ввода-вывода, такими как java.util.Scanner или java.io.BufferedReader, Eclipse отображает предупреждение Resource leak: 'suchAndSuch' is never closed. Как заставить Eclipse отображать это предупреждение для моего собственного класса, когда он не закрыт?Предупреждение о силе, когда класс не закрыт

Я хочу знать, есть ли интерфейс или что-то, что мне нужно реализовать, чтобы мой класс обрабатывался как классы ввода-вывода, так что он не зависит от какой-либо одной IDE, например. в командной строке javac также отображается предупреждение, когда ресурс не закрыт.

+1

использование Съемной Аннотация Processor API http://stackoverflow.com/a/24981511/3651739 –

+2

Вы пробовали реализации интерфейс 'java.io.Closeable' в классе, о котором вы хотите, чтобы Eclipse предупреждал вас? – JonK

+0

Достаточно ли реализовать ваш класс 'java.io.Closeable'? См. Http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-avoiding_resource_leaks.htm. –

ответ

2

Затмение дает предупреждение «не закрыты» для любого класса, который реализует java.io.Closeable

class X implements Closeable { 
    @Override 
    public void close() throws IOException { 
    } 
} 

... 
    public static void main(String[] args) throws IOException { 
     X x = new X(); <-- Eclipse warning 
    }