Java IO流学习总结(一)—— IO流分类和常用IO流汇总

IO流的分类:

- 按流向分类输入流、输出流
- 按操作对象分类字节流、字符流
- 按功能分类节点流、处理流
  • IO流的设计模式为装饰设计模式
  • 节点流为最“原生态”的流,实现了流的基本功能,需待操作的数据创建对象,如File(文件)、Byte[](字节数组)、Char[](字符数组)等
  • 处理流包装节点流,增强其功能(如处理编码问题防止乱码、使用缓冲流增强传输效率等),其处理的是节点流,所以需用节点流对象创建处理流对象

常用IO流:

一、InputStream:字节输入抽象类(做各个字节输入类的祖先基类)
  • 节点流:

    • FileInputStream:文件字节输入流(操作对象为File文件对象)
    • ByteArrayInputStream:字节数组输入流(操作对象为字节数组)
  • 处理流:
    • FilterInputStream:过滤字节输入流(简单的实现了InputSteam类,一般用它的子类BufferedInputSteam、DataInputStream等)
    • BufferedInputStream:字节输入缓冲流
    • DataInputStream:基本数据类型输入处理流
    • ObjectInputStream:引用数据类型输入处理流(对象反序列化)
二、OutputStream:字节输出抽象类(做各个字节输出类的祖先基类)
  • 字节流:

    • FileOutputStream:文件字节输出流(操作对象为File文件对象)
    • ByteArrayOutputStream:字节数组输出流(操作对象为字节数组)
  • 处理流:
    • FilterOutputStream:过滤字节输出流(简单的实现了OutputStream类,一般用它的子类BufferedOutputSteam、DataOutputStream等)
    • BufferedOutputStream:字节输出缓冲流
    • DataOutputStream:基本数据类型输出处理流
    • ObjectOutputStream:引用数据类型输出处理流(对象序列化)
三、Reader:字符输入抽象类(做各个字符输入类的祖先基类)
  • 节点流:

    • FileReader:文件字符输入流(操作对象为File文件对象)
    • CharArrayReader:字符数组输入流(操作对象为字符数组)
  • 处理流:
    • BufferedReader:字符输入缓冲流
    • InputStreamReader:字符输入格式处理流(可以设置字符编码等)
四、Writer:字符输出抽象类(做各个字符输出类的最终基类)
  • 节点流:

    • FileWriter:文件字符输出流(操作对象为File文件对象)
    • CharArrayWriter:字符数组输出流(操作对象为字符数组)
  • 处理流:
    • BufferedWriter:字符输出缓冲流
    • OutputStreamWriter:字符输出格式处理流(可以设置字符编码等)

Java IO流学习总结(一)—— IO流分类和常用IO流汇总相关推荐

  1. ANSYS——命令流学习(材料属性设置、建模的命令流)

    目录 ANSYS基本关键字 命令流的整体结构.每个模块的标识 !文件说明段/BATCH !进入前处理模块标识/PREP7 !进入求解模块标识/SOLU /POST1                   ...

  2. java swt designerpdf_eclipse学习笔记!(4) ----- SWT Designer 下 SWT常用组件

    一个button类的实例 基本的步骤和之前的是一样的,一个SWT的项目,然后在页面设置面板里添加button.双击button(直接在source里面添加了监听器的代码).下面是代码: publicc ...

  3. JAVA进阶知识学习-day10

    一.缓冲流 1.1 缓冲流,也叫高效流,是对4个基本的流的增强,按照数据类型分类:  字节缓冲流: BufferedInputStream,BufferedOutputStream  字符缓冲流: B ...

  4. xshell删除文件夹命令_ssh远程连接GPU服务器进行深度学习以及常用ssh命令汇总

    在我们进行深度学习的科研任务时,我们都会遇到复杂神经网络的训练问题,这时我们都不可避免地需要一块合适的gpu服务器,我认为gpu服务器的好处有两点:一是相对而言便宜一些,虽然很多gpu服务器也是昂贵的 ...

  5. Java IO流学习总结四:缓冲流-BufferedReader、BufferedWriter

    Java IO流学习总结四:缓冲流-BufferedReader.BufferedWriter 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/det ...

  6. Java IO流学习总结三:缓冲流-BufferedInputStream、BufferedOutputStream

    Java IO流学习总结三:缓冲流-BufferedInputStream.BufferedOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ ...

  7. Java IO流学习总结八:Commons IO 2.5-IOUtils

    Java IO流学习总结八:Commons IO 2.5-IOUtils 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/550519 ...

  8. Java IO流学习总结七:Commons IO 2.5-FileUtils

    Java IO流学习总结七:Commons IO 2.5-FileUtils 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/5497 ...

  9. Java IO流学习总结六:ByteArrayInputStream、ByteArrayOutputStream

    Java IO流学习总结六:ByteArrayInputStream.ByteArrayOutputStream 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/ar ...

最新文章

  1. java bufferedwriter 写入tab_一个Java程序员的成长历程(014,015)天
  2. 现代操作系统:进程和线程总结
  3. 前端模块化(一):模块化那些事儿
  4. jquery纯数字验证
  5. HDU 4414 Finding crosses(搜索)
  6. linux脚本编写思想,Linux脚本编写入门基础(三)
  7. python怎么创意出字符图形_创造课程系列:Python入门
  8. 画矩形的方法_怎样画颜色绚丽的插画?
  9. Chrome 地址栏如何设置显示 http/https 和 www
  10. python3开发环境_python3开发环境安装
  11. c语言酒店管理系统,基于C#的酒店管理系统(V3.1)最新版
  12. 关于timer产生的pwm寄存器arr,ccr,psc分析
  13. 【从零开始学极狐gitlab】01环境搭建 #JIHULAB101
  14. 【机器学习】聚类(Kmeans、MeanShift )
  15. 配置 hosts 浏览器访问仍然不生效
  16. 深度学习 (一)计算机如何处理和识别图片揭秘
  17. Android效率组件篇 设置长按响应时间(时长)
  18. docker 容器内安装ps命令
  19. java后端扇形图实现
  20. Docker--网络模式

热门文章

  1. Javascript中四舍六入五成双
  2. 针对腾讯云服务器 外网不能访问的问题
  3. NOJ 1116 哈罗哈的大披萨 【淡蓝】 状态压缩DP
  4. Win11如何更改字体样式?Win11更改字体样式的方法
  5. catia制作物料明细,如何在CATIA中生成产品物料清单 划重点了
  6. 【数据结构】常见数据结构类型
  7. win7下安装网络共享打印机 hp LaserJet 1010
  8. linux 下 `dirname $0`
  9. 安卓25:Android studio 计时器chronometer的使用
  10. 百度网盘限速解决方案--motrix