Java I/O总结——OutputStream

java.io. OutputStream 类总结

和InputStream类似,OutputStream(写入一系列字节的对象)是所有字节形式输出流的父类。类结构图如下图所示(单击查看大图片):

OutputStream

上面这张图与前面的java.io.InputStream的类结构图有些类似,在java.io.InputStream/OutputStream的类结构中可以找到相互对应的类,这里额外需要说明的是PrintStream类。

这个类看上去有些陌生,很少使用它。实际上标准输出流:System.out的类型就是java.io.PrintStream。PrintStream作为FilterOutputStream的子类,其作用也是将某个输出流再次封装,并且提供了一些新的输出特性。说到System.out估计大家就明白多了,这里就不在说明了。其他标准输出:System.in的类型是InputStream,其默认是由JRE指向系统的标准输入流,在控制台下默认是键盘的输入,使用in.read()方法,将返回用户键盘输入的值;System.err的类型也是java.io.PrintStream。

下面举个具体的例子来说明,如何实现重定向标准输入/输出:

PrintStream output = new PrintStream(new FileOutputStream(“c:/out.log”));
System.setOut(output);

PrintStream errOutput = new PrintStream(new FileOutputStream(“c:/err.log”));
System.setErr(errOutput);

System.out.println(“Output redirect test”);
System.err.println(“Error redirect test”);

原来在控制台输出的文字都将被写入out.log或err.log文件中。

对其他的字节流,做个稍微的总结,如下图所示:

基本的流类

总结说明

java.io学习起来也相当的简单,我个人认为主要原因是JAVA是完全面向对象的,而C++由于包含了一些C语言的元素,在很多方面显得比较复杂,估计这也是大部分人认为C++比JAVA复杂的主要原因吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值