Java I/O总结——OutputStream

转载 2012年03月29日 14:59:16

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复杂的主要原因吧!

Java I/O流系统学习心得

1.Java I/O系统概论 由于数据输入和接受端的多样性以及与他们通信方式的多样性(你可能需要按字节,按字符,顺序或随机地获得它们)存在,一个优秀的I/O系统对每门语言来说都是一个巨大挑战。Java...
  • linmoops
  • linmoops
  • 2016年07月29日 16:18
  • 353

java I/O系统总结

java I/O 系统总结
  • huruzun
  • huruzun
  • 2015年06月13日 19:21
  • 1324

Java I/O流常用类小结

File类 File类是 IO 包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操纵文件 File f = new File("d:/test/1.txt"); 常用方法见 ...
  • tao_sun
  • tao_sun
  • 2014年03月14日 09:22
  • 1297

《JAVA I/O最详解》

刚开始学Java时候,一直搞不懂Java里面的io关系,在网上找了很多大多都是给个结构图草草描述也看的不是很懂。而且没有结合到java7 的最新技术,所以自己结合API来整理一下,有错的话请指正,...
  • self_realian
  • self_realian
  • 2016年07月19日 17:31
  • 1785

深入理解 java I/O

Java 的 I/O 类库的基本架构 I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸...
  • Mr_Tim
  • Mr_Tim
  • 2016年04月06日 11:42
  • 840

Linux 下I/O多路复用总结

 select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但se...
  • hsy12342611
  • hsy12342611
  • 2016年04月07日 15:45
  • 2688

《操作系统》总结五(I/O管理)

输入输出管理本章主要内容: I/O管理概述(I/O控制方式、I/O软件层次结构)和I/O核心子系统(I/O调度概念、局速缓存与缓冲区、设备分配与回收、假脱机技术(SPOOLing))。 5.1 I...
  • bigpudding24
  • bigpudding24
  • 2015年10月04日 23:07
  • 3360

Java I/O 模型的演进

什么是同步?什么是异步?阻塞和非阻塞又有什么区别?本文先从 Unix 的 I/O 模型讲起,介绍了5种常见的 I/O 模型。而后再引出 Java 的 I/O 模型的演进过程,并用实例说明如何选择合适的...
  • kkkloveyou
  • kkkloveyou
  • 2016年03月01日 21:17
  • 1447

Java I/O 流详解

原文地址: http://blog.csdn.net/jiangwei0910410003/article/details/22376895 摘要: Java 流在处理上分为字符流和...
  • jason_rainbow
  • jason_rainbow
  • 2016年03月17日 11:40
  • 405

Java I/O学习(附实例和详解)

原文地址:http://blog.csdn.net/u013142781/article/details/50814649 一、Java I/O类结构以及流的基本概念 在阅读Java I/O的...
  • tuzongxun
  • tuzongxun
  • 2016年03月08日 18:10
  • 707
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java I/O总结——OutputStream
举报原因:
原因补充:

(最多只允许输入30个字)