用于标准流的Java的InputStream / OutputStream
我的理解是,字符流和字节流在C FILE *
流内部工作。
C世界中的标准流是FILE * stdin
, FILE *stdout
和FILE *stderr
InputStream和OutputStream为文件,管道等资源提供子类…
InputStream和OutputStream api文档没有讨论标准流 – stdin
/ stdout
/ stderr
。
InputStream
/ OutputStream
哪个子类专用于标准流?
如果查看System
类的源代码,可以看到以下类型:
public final static PrintStream out = null; public final static PrintStream err = null; public final static InputStream in = null;
即stdin和stderr的类型为PrintStream
而stdin是InputStream
。
当然,我们应该通过System.out.println()
和类似的操作来访问它们。
关于您在问题中显示的Inputstream
/ OutputStream
, PrintStream
扩展了FilterOutputStream
,它扩展了OutputStream
。 PrintStream
的主要目的是添加样式print()
, println()
等有用的函数。