Exemplo

public class ClassA {

private BufferedReader reader;

public void makeReader (Reader r) {

reader = new BufferedReader(r);
//executar algo...

}
}



Solução
Para evitar fugas de recursos, certifique-se de que close() seja chamado em cada java.io.BufferedReader. Nota: Essa regra se aplica a qualquer forma de construtor BufferedReader.


public class ClassA {

private BufferedReader reader;

public void makeReader (Reader r) {

reader = new BufferedReader(r);
//executar algo...

try {
reader.close();
} catch(IOException ioe) {
//desempenhar manipulação de exceção
}
}
}