As far as I know java.io
ist divided into byte streams and character streams.
Byte streams for reading and writing bytes and character streams for reading and writing characters.
PrintStream
has following inheritance hierarchy:
Object <- OutputStream <- FilterOutputStream <- PrintStream.
Thus I made resolution that PrintStream
related with reading and writing bytes.
But if write something like this:
PrintStream output = new PrintStream(System.out);
output.print(true);
output.print((int) 123);
output.print((float) 123.456);
output.printf(Locale.UK, "Text + data: %1$d", 123);
...
I see characters in my console. This situation confused me. Please clarify my misunderstanding. What do the terms byte stream and character stream really mean?