public final class CapturingPrintStream extends PrintStream
This type of object is useful in tests to capture output written to System.out or
System.err:
final CapturingPrintStream out = new CapturingPrintStream();
System.setOut(out);
// ... executes to code which calls System.out()
final String output = out.getCapturedOutput();
This capturing output streams buffers everything written to OutputStream.write(int), if you want to
reset the buffer you must create a new instance.
| Modifier and Type | Field and Description |
|---|---|
private ByteArrayOutputStream |
capturedOutput
Used to collect captured output.
|
private PrintStream |
delegate
used to do the real work.
|
private String |
encoding
Encoding of the captured bytes.
|
out| Constructor and Description |
|---|
CapturingPrintStream()
Creates the print stream with platform encoding.
|
CapturingPrintStream(String encoding)
Dedicated constructor.
|
| Modifier and Type | Method and Description |
|---|---|
PrintStream |
append(char c) |
PrintStream |
append(CharSequence csq) |
PrintStream |
append(CharSequence csq,
int start,
int end) |
boolean |
checkError() |
void |
close() |
void |
flush() |
PrintStream |
format(Locale l,
String format,
Object... args) |
PrintStream |
format(String format,
Object... args) |
String |
getCapturedOutput()
Returns the whole string of everything written to this stream.
|
(package private) PrintStream |
getDelegate()
Only for testing.
|
void |
print(boolean b) |
void |
print(char c) |
void |
print(char[] s) |
void |
print(double d) |
void |
print(float f) |
void |
print(int i) |
void |
print(long l) |
void |
print(Object obj) |
void |
print(String s) |
PrintStream |
printf(Locale l,
String format,
Object... args) |
PrintStream |
printf(String format,
Object... args) |
void |
println() |
void |
println(boolean x) |
void |
println(char x) |
void |
println(char[] x) |
void |
println(double x) |
void |
println(float x) |
void |
println(int x) |
void |
println(long x) |
void |
println(Object x) |
void |
println(String x) |
CapturingPrintStream |
reset()
Resets the captured output.
|
(package private) void |
setDelegate(PrintStream delegate)
Injection point for testing.
|
void |
write(byte[] buf,
int off,
int len) |
void |
write(int b) |
clearError, setErrorwriteprivate final ByteArrayOutputStream capturedOutput
private PrintStream delegate
private final String encoding
public CapturingPrintStream()
throws UnsupportedEncodingException
UnsupportedEncodingException - if the platform encoding is not supportedpublic CapturingPrintStream(String encoding) throws UnsupportedEncodingException
Initializes parents output stream with a dummy stream.
encoding - must not be null or emptyUnsupportedEncodingException - if the platform encoding is not supportedPrintStream getDelegate()
nullvoid setDelegate(PrintStream delegate)
delegate - must not be nullpublic String getCapturedOutput() throws UnsupportedEncodingException
nullUnsupportedEncodingException - if the platform encoding is not supportedpublic CapturingPrintStream reset()
public void flush()
flush in interface Flushableflush in class PrintStreampublic void close()
close in interface Closeableclose in interface AutoCloseableclose in class PrintStreampublic boolean checkError()
checkError in class PrintStreampublic void write(int b)
write in class PrintStreampublic void write(byte[] buf,
int off,
int len)
write in class PrintStreampublic void print(boolean b)
print in class PrintStreampublic void print(char c)
print in class PrintStreampublic void print(int i)
print in class PrintStreampublic void print(long l)
print in class PrintStreampublic void print(float f)
print in class PrintStreampublic void print(double d)
print in class PrintStreampublic void print(char[] s)
print in class PrintStreampublic void print(String s)
print in class PrintStreampublic void print(Object obj)
print in class PrintStreampublic void println()
println in class PrintStreampublic void println(boolean x)
println in class PrintStreampublic void println(char x)
println in class PrintStreampublic void println(int x)
println in class PrintStreampublic void println(long x)
println in class PrintStreampublic void println(float x)
println in class PrintStreampublic void println(double x)
println in class PrintStreampublic void println(char[] x)
println in class PrintStreampublic void println(String x)
println in class PrintStreampublic void println(Object x)
println in class PrintStreampublic PrintStream printf(String format, Object... args)
printf in class PrintStreampublic PrintStream printf(Locale l, String format, Object... args)
printf in class PrintStreampublic PrintStream format(String format, Object... args)
format in class PrintStreampublic PrintStream format(Locale l, String format, Object... args)
format in class PrintStreampublic PrintStream append(CharSequence csq)
append in interface Appendableappend in class PrintStreampublic PrintStream append(CharSequence csq, int start, int end)
append in interface Appendableappend in class PrintStreampublic PrintStream append(char c)
append in interface Appendableappend in class PrintStreamCopyright © 2014 Sven Strittmatter. All Rights Reserved.