IO流概述

输入input:读取外部数据(磁盘,光盘等存储设备的数据)到程序(内存中)

输出output: 将程序(内存)数据输出到磁盘,光盘等存储设备中

把自己站位到程序的角度理解

按操作数据单位不同分为:

                    字节流(视频,图片,音乐 二进制流的形式本质上一个个字节组成)

                    字符流(文本文件)

按数据流的流向不同分为: 输入流,  输出流

按流的角色的不同分为:

                   节点流(直接处理文件的流  4个)

                                             FileInputStream(输入)      FileOutPutStream(输出)

                                             FileReader(输入)             FileWriter(输出)

                   处理流(作用在节点流或者处理流上,如缓冲等)

(抽象基类) 字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer

 

 

 

 

 

 

1. java的IO流共涉及40多个类,实际上非常规则,都是从上面四个抽象基类派生的

2. 由这四个类派生出来的子类名称都是以其父类名作为子类名后缀

 

IO流体系

分类 使用分类 字节输入流 字节输出流 字符输入流 字符输出流
  抽象基类 InputStream

OutputStream

Reader Writer
节点流 访问文件 FileInputStream FileOutStream FileReader FileWriter
访问数值 ByteArrayInputStream ByteArrayOutStream CharArrayReader CharArrayWriter
访问管道 PipedInputStream PipedOutStream PipedReader PipedWriter
访问字符串     StringReader StringWriter
处理流 缓冲流 BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter
转换流     InputStreamReader OutputStreamWriter
对象流 ObjectInputStream ObjectOutputStream    
抽象基类(过滤) FilterInputStream FilterOutputStream FilterReader FilterWriter
打印流   PrintStream   PrintWriter
推回输入流 PushbackInputStream   PushbackReader  
特殊流 DataInputStream DataOutputStream    

 

 

 

 

 

 

 

 

 

 

 

All that work will definitely pay off
原文地址:https://www.cnblogs.com/afangfang/p/12602668.html