关于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. ubuntu系统五笔输入法安装

    转载:https://jingyan.baidu.com/article/454316ab67d702f7a7c03a1a.html Ubuntu 16.04 在安装时选择中文安装,安装过程中将自动安 ...

  2. 百度编辑器contentChange监听不到图片上传

    将ueditor组件化到java项目中,当调用组件后,绑定函数,监听contentchange如下图: um.addListener("contentChange",functio ...

  3. JVM 初始化阶段例子

    创建如下Demo package com.example.jvm.classloader; class Parent{ static int a = 3; static { System.out.pr ...

  4. 脸型分类-Face shape classification using Inception v3

    本文链接:https://blog.csdn.net/u011961856/article/details/77984667函数解析github 代码:https://github.com/adoni ...

  5. Vue-CLI 标准开发工具-快速准备环境和创建项目

    https://cli.vuejs.org/zh/ 淘宝镜像安装: npm install -g cnpm --registry=https://registry.npm.taobao.org 2.x ...

  6. pip 安装,更新模块

    moudle_name:是对应的模块名:请自行更换为自己需要更新的模块名 查看所有可更新的模块: pip list --outdated 更新某一个模块: pip install --upgrade ...

  7. 阿里云配置WAF的步骤

    date:2019-07-04  17:59:19 author: headsen chen 配置WAF防护策略 本页目录 操作步骤 网站接入Web应用防火墙(WAF)后,WAF以默认防护策略为其过滤 ...

  8. leetcode 384. Shuffle an Array

    384. Shuffle an Array c++ random函数:https://www.jb51.net/article/124108.htm rand()不需要参数,它会返回一个从0到最大随机 ...

  9. canvas固定画布

    canvas作为非常方便的HTML绘图工具在web端的应用是非常多了. 那么会碰到一个问题,开始绘图的时候,网页总是晃动. 怎么办呢?只需在获取鼠标(触点)移动坐标的时候,添加清除默认动作就可以了. ...

  10. Linux记录-shell 100例(转载)

    1.编写hello world脚本 #!/bin/bash # 编写hello world脚本 echo "Hello World!" 2.通过位置变量创建 Linux 系统账户及 ...