关于IO流以前写的PPT式笔记请跳转:https://blog.csdn.net/SCORPICAT/article/details/87975094#262___1451

IO流的主要结构

记忆方法

先记住四大抽象类

  • Write
  • Reader
  • InputStream
  • OutputStream

四类均有的相似类有

(以下内容阅读时忽略空格)

  • Piped Writer/Reader 与 Piped InputStream/OutputStream
  • Filter Writer/Reader 与 Filter InputStream/OutputStream
  • File Writer/Reader 与File InputStream/OutputStream (比字符流的继承结构高一级,看图)
  • Buffered Writer/Reader 与 Buffered InputStream/OutputStream(比字符流的继承结构低一级,看图)

四类均有的看似相似的有

  • String Writer/Reader 与 StringBufferedInputStream (没有相应的OutputStream)
  • CharArray Writer/Reader 与 ByteArray InputStream/OutputStream

两种输入流才有的

FilterReader下的PushbackReader

FilterInputStream下的PushbackInputStream

两种输出流才有的

PrintWriter 与 PrintStream(比字符流的继承结构低一级,看图)

字符流独有的

InputStreamReader 与 OutputStreamWriter

好像是模仿字节流的

他们下面有FileReader 与 FileWriter

字节流独有的

ObjectInputStream 与 ObjectOutputStream

FilterInputStream下的DataInputStream 与 FilterOutputStream下的DataOutputStream

孤零零的 SequenceInputStream

单独记一下字节流下的Filter系列下的子类

FilterInputStream

  • DataInputStream
  • BufferedInputStream
  • PushbackInputStream

FilterOutputStream

  • DataOutputStream
  • BufferedOutputStream
  • PrintStream

总结

File Filter Bufferd Piped 全都有

CharArray ByteArray好相似

String StringBuffered差得远

输入流有Pushback

输出流有Print呀!

字符流啊机灵鬼

假装自己是 InputStream (OutputStream Reader/Writer)

字节流啊家底厚

独占Data、Object

收养一个Sequence

Sequence没有Output

耶!Peace!

各类的使用场景

https://blog.csdn.net/qq_33394088/article/details/78512407

04 IO流(二)——IO类的记忆方法、使用场景的更多相关文章

  1. IO流,File类的测试........课堂加总结

    package liu0926; import java.io.File; import java.io.IOException; public class Text01 { public stati ...

  2. IO流的工具类

    1.需要先导入jar包: FilenameUtils import org.apache.commons.io.FilenameUtils; public class FilenameUtilesDe ...

  3. IO流----操作文件的9种方法代码实现

    IO流----操作文件的9种方法代码实现: 1:使用字节流读写数据: 四种方式: method1:          每次读写一个字节,边读边写: /* * 复制文本文件. * * 数据源:从哪里来 ...

  4. Java学习之路(十二):IO流<二>

    字符流 字符流是可以直接读写字符的IO流 使用字符流从文件中读取字符的时候,需要先读取到字节数据,让后在转换为字符 使用字符流向文件中写入字符时,需要把字符转为字节在写入文件 Reader和Write ...

  5. IO流(File类,IO流的分类,字节流和字符流,转换流,缓冲流,对象序列化)

    1.File类 File类可以在程序中 操作文件和目录.File类是通过建立File类对象,在调用File类的对象来进行相关操作的. 示例: public class Demo01 { public  ...

  6. IO流之Properties类

    Properties类介绍 Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 特点: 1.Hashtable的 ...

  7. Java IO 流--FileUtils 工具类封装

    IO流的操作写多了,会发现都已一样的套路,为了使用方便我们可以模拟commosIo 封装一下自己的FileUtils 工具类: 1.封装文件拷贝: 文件拷贝需要输入输出流对接,通过输入流读取数据,然后 ...

  8. Java IO流(二)

    目录 字节缓冲流 概述 BufferedOutputStream类 继承父类的共性成员方法 构造方法 BufferedInputStream类 继承自父类的方法: 构造方法 文件复制练习(增强版 使用 ...

  9. JAVASE(十六) IO流 :File类、节点流、缓冲流、转换流、编码集、对象流

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.File类型 1.1.File类的理解 File类是在java.io包下 File可以理解成一个文件 ...

随机推荐

  1. python实用技巧之任务切分

    Python 大任务切分小任务 今天来说说,Python中的任务切分.以爬虫为例,从一个存 url 的 txt 文件中,读取其内容,我们会获取一个 url 列表.我们把这一个 url 列表称为大任务. ...

  2. Java8中LocalDate的使用---项目中日期处理

    // 获取当前日期 LocalDate now = LocalDate.now(); // 设置日期 LocalDate now2 = LocalDate.of(2099, 2, 28); // 解析 ...

  3. System.Runtime.Serialization.cs

    ylbtech-System.Runtime.Serialization.cs 允许对象控制其自己的序列化和反序列化过程. 1.返回顶部 1. #region 程序集 mscorlib, Versio ...

  4. typeScript模块<二>

    /*模块 1 模块的的概念 2 模块导出的几种方法 1.export 导出声明 2.export 导出语句 3.export default 4.import导入模块 3 模块化封装上一讲的DB库 * ...

  5. Python的collections之namedtuple的使用及其优势

    类实现: class User: def __init__(self, name, age, height): self.name = name self.age = age self.height ...

  6. Python3基础 print 格式化输出 %f %d 保留浮点数的位数 整数的位数不够零来凑

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  7. Qt QLabel加载图片

    QLabel加载图片 //在对应的控件中显示图片 void qm_img::DisplayImg(cv::Mat imgParam, QLabel *labelParam) { if (!imgPar ...

  8. ubuntu2 setting

    luo@luo-ThinkPad-W540:research$ conda create -n tf2019 python=3.6Solving environment: done ==> WA ...

  9. wave数据集的回归曲线

    wave数据集的回归曲线 import matplotlib.pyplot as pltimport mglearnfrom scipy import sparseimport numpy as np ...

  10. 单独使用MyBatis的简单示例

    单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...