Example

public class ClassA {

private PrintStream stream;

public void makeStream (OutputStream os) {

stream = new PrintStream(os);
//do something...

stream.flush();
}
}



Solution
To avoid resource leaks, ensure that close() is invoked on every java.io.PrintStream. Note: This rule applies to any form of PrintStream constructor.


public class ClassA {

private PrintStream stream;

public void makeStream (OutputStream os) {

stream = new PrintStream(os);
//do something...

stream.flush();
stream.close();
}
}