Java I/O总结——OutputStream
2011-05-26 08:44
162 查看
前面我们学习了InputStream,OutputStream采用了类似的结构。本篇幅,我们只是介绍OutputStream中特殊的部分,与InputStream相同的部分不再重复说明。
上面这张图与前面的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。
下面举个具体的例子来说明,如何实现重定向标准输入/输出:
原来在控制台输出的文字都将被写入out.log或err.log文件中。
java.io. OutputStream 类总结
和InputStream类似,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复杂的主要原因吧!相关文章推荐
- Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream
- Java I/O总结――OutputStream
- Java I/O总结——OutputStream
- java输入输出流FileInputStream,FileOutputStream,BufferedInputStream,BufferedOutputStream知识点总结
- Java I/O流-总结(InputStream,OutputStream,Reader,Writer)
- 黑马程序员:Java基础总结----字节流&InputStream &OutputStream
- 黑马程序员_Java第18天知识总结_System类_Runtime类_Date_Calendar_Math_Random_InputStream_OutputStream_IO异常的处理
- Java I/O总结 -- OutPutStream
- Java IO操作——字节流(OutputStream、InputStream)和字符流(Writer、Reader)
- 关于Java IO流学习总结
- java基础学习总结——Java hashCode() equals()总结
- Java异常总结(运行期出现的错误)
- Java爬虫框架WebMagic的使用总结
- JAXP(Java API for XMLProcessing)知识总结
- Java关键字final、static使用总结
- 使用jackson对Java对象与JSON字符串相互转换的一些总结
- J2EE总结:Java命名与目录接口JNDI
- Java多线程编程总结2
- 黑马程序员 Java学习总结之IO和网络
- Java_08_30课堂总结