Exemplo

public class ClassA {

private PrintWriter writer;

public void makeWriter (OutputStream os) {

writer = new PrintWriter(os);
//executar algo...

}
}



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


public class ClassA {

private PrintWriter writer;

public void makeWriter (OutputStream os) {

writer = new PrintWriter(os);
//executar algo...

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