Writing Standard Output
Problem
You want your program to write to the standard output.
Solution
Use System.out.
Discussion
Again despite Rusty’s quote, there are circumstances (such as a
server program with no connection back to the
user’s
terminal) in which
System.out
can become a very important debugging tool (assuming that you can
find out what file the server program has redirected standard output
into; see Section 9.7).
System.out
is a PrintStream
,
so in every introductory text you see a program containing this line,
or one like it:[24]
System.out.println("Hello World of Java");
The println
method is
polymorphic;
there are forms of it for Object
(which obviously
calls the given object’s toString( )
method), for String
, and for each of the base
types (int
, float
,
boolean
, etc.). Each takes only one argument, so
it is common to use string
concatenation:
System.out.println("The answer is " + myAnswer + " at this time.");
Remember that string concatenation is also polymorphic: you can “add” anything at all to a string, and the result is a string.
Up to here I have been using a Stream
,
System.out
. What if you want to use a
Writer
? The
PrintWriter
class has all the same methods as
PrintStream
and a constructor that takes a
Stream
, so you can just say:
PrintWriter pw = new PrintWriter(System.out); pw.println("The answer is " + myAnswer + " at this time.");
One caveat with this string concatenation is that if you are appending a bunch of things, and a number and a character come togetherat ...
Get Java Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.