据我所知java.io
分为字节流和字符流。字节流用于读取和写入字节,字符流用于读取和写入字符。
PrintStream
具有以下继承层次结构:
Object <- OutputStream <- FilterOutputStream <- PrintStream.
因此,我做出了PrintStream
与读取和写入字节相关的解决方案。
但是如果写这样的东西:
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);
...
我在控制台中看到字符。这种情况让我很困惑。请澄清我的误解。字节流和字符流这两个术语的真正含义是什么?