Java SE 8 Programmer II: java.io.*

Zur Dateneingabe wird die Klasse java.util.Scanner verwendet, die AutoClosable ist.

Zudem gibt es die Klasse java.io.Console, die je nach JVM und Art und Weise des Starts der JVM zur Laufzeit verfügbar ist. Wenn die JVM aus einer interaktiven Konsole gestartet wird, existiert auch eine java.io.Console. Wenn der Aufruf der JVM durch einen Job oder aus einer IDE heraus erfolgt ist, dann existiert keine java.io.Console.

Standard-Streams sind Byte-basiert, während die Console Character-basiert arbeitet.

System.out und System.err sind vom Typ PrintStream. System.in ist vom Typ InputStream.

Anders als die meisten Klassen aus java.io werfen Methoden von PrintWriter nie IOExceptions.
Bei PrintWriter lässt sich im Konstruktor AutoFlushing aktivieren. Dies gilt allerdings nur für die Methoden println(), printf() und format().