24十一2009

前面我们学习了InputStream,OutputStream采用了类似的结构。本篇幅,我们只是介绍OutputStream中特殊的部分,与InputStream相同的部分不再重复说明。

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

转载于:https://blog.51cto.com/zhongzh/632024

Java I/O总结——OutputStream相关推荐

  1. java的InputStream和OutputStream的理解【转】

    1.在java中stream代表一种数据流(源),javaio的底层数据元,---(想像成水龙头) 2.任何有能力产生数据流(源)的javaio对象就可以看作是一个InputStream对象 既然它能 ...

  2. java中InputStream和OutputStream的使用场景

    java的I/O中有两种基本的流类型 分别是 输入流InputStream 输出流OutputStream 有的时候很容易搞混使用的顺序,只需要记住: 输入流是把数据从别的地方读入本程序的内存 输出流 ...

  3. java写入数组_如何在Java中将数组写入outputStream

    我想通过Socket发送多个随机值.我认为数组是发送它们的最佳方式.但是我不知道如何将数组写入Socket outputStream? import java.io.ByteArrayOutputSt ...

  4. java中FileInputStream和OutputStream解析

    FileInputStream和FileOutputStream分别表示读写文件数据流,前者是将文件数据读取到内存中,后者表示将内存中的数据写入到文件中. 1.FileInputStream File ...

  5. 20.2 Java写文件之OutputStream学习

    文章目录 1.什么是OutputStream?(输出流) 2.使用FileOutputStream写出文件 2.1 void write(int b) 向目的地写入一个字节 2.2 void writ ...

  6. java流输出_Java OutputStream.write()将数据写入输出流

    首页 > 基础教程 > IO流 > OutputStream类 Java OutputStream.write()将数据写入输出流 定义 public abstract void w ...

  7. java 关闭输出流_Java OutputStream.close()关闭并释放输出流资源

    首页 > 基础教程 > IO流 > OutputStream类 Java OutputStream.close()关闭并释放输出流资源 定义 public void close() ...

  8. java.util.zip包 OutputStream ZipOutputStream以压缩包的方式导出或下载多个文件,比如图片,文档,Excel表格等

    目录 前言 逻辑流程 代码 请求接口 压缩文件方法 关闭文件流 前言 接到个需求,从数据库查询出多个用户,每个用户都会有头像,以压缩包的方式下载这些用户的头像,这里用到了java.util.zip包下 ...

  9. java outputstream api,Java8 stream API以及常用方法

    Java8引入了全新的Stream API,Stream API为Java编程提供了丰富的函数式编程操作. Stream API与Java提供的其他集合类型有本质的区别,具体如下: java.io的I ...

  10. java Export Excel POI 转

    最终选择用POI成功导出excel.总之很有用. http://www.cnblogs.com/xwdreamer/archive/2011/07/20/2296975.html http://poi ...

最新文章

  1. 精选CVPR开源项目学习资源汇总
  2. Mac Pro m1 安装 brew/eclipse/visual stadio code/nodejs/git
  3. 大数据支撑健康医疗服务落地
  4. 《Python预测之美》送书活动,中奖名单公示
  5. 8086cpu学习笔记(3):寻址方式
  6. 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_23-CMS前端页面查询开发-分页查询实现...
  7. 排队论在计算机和通信领域的应用,随机过程与排队论——及其在计算机领域中的应用.pdf...
  8. 晶体二极管的主要参数
  9. Linux中RAID与LVM磁盘列阵技术的使用
  10. 使用mmdetection测试图片
  11. 华南农业大学汇编语言综合性实验-将自己的姓名用多种颜色动态显示
  12. 码洞原创深度技术文章大全 —— 高端面试必备
  13. 看黑客如何在Black Hat 2016上5秒干掉 macOS 系统,“催吐”ATM机| 宅客周刊
  14. 编译原理复习四:编译器结构 消除左递归、左公因子 最右推导 寻找句柄讲解(附题目和答案)
  15. java实现pdf电子合同设置合同编号
  16. ubuntu 复制文件夹到另一目录命令
  17. 财务知识入门——《富爸爸,穷爸爸》
  18. 哪些城市有PMP考试考点?PMP考试考场都在哪?
  19. 微型计算机型数据采集系统特点,数据采集系统
  20. 深入理解Linux自旋锁(1.0)

热门文章

  1. knn——model celectionpreprocessing
  2. sentinelsat包介绍
  3. java怎样定义和使用数组,Java一维数组的定义和使用
  4. 实习踩坑之路:日期计算错误,Java8API导致Unsupported unit: Seconds,计算当前时间到凌晨00:00的计算方法
  5. 数据结构------递归+迷宫问题+最短路径问题解决思路
  6. 5 年迭代 5 次,抖音基于 Flink 的推荐系统演进历程
  7. 我用Python爬了点你们需要的电影,这些电影真的很不错~
  8. python标准库——datetime模块
  9. 桌面上计算机点击后,怎样设置电脑的鼠标点击后窗口(也就是桌面上点一下出来的窗口)为自己另类设计的个性窗口图案?求高手。...
  10. python加入小学课本_Python走进小学教材