Exemplo

public class ClassA {

private BufferedWriter writer;

public void makeWriter (Writer w) {

writer = new BufferedWriter(w);
//executar algo...

}
}



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


public class ClassA {

private BufferedWriter writer;

public void makeWriter (Writer w) {

writer = new BufferedWriter(w);
//executar algo...

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