一、字节流
1)、字节输出流:OutputStream
定义:
public abstract class OutputStream
extends Objiect
implements Closeable,Flushable
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101194618991-1466305233.jpg)
2)、字节输入流
定义:
public abstract class inputStream
extends Objiect
implements Closeable
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101194858108-522300016.jpg)
二、字符流
1)、字符输出流Writer
定义:
public abstract class Writer
extends Objiect
implements Append abl,Closeable,Flushable
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101195351728-583025734.jpg)
2)、字符输入流:Reader
定义:
public abstract class Reader
extends Objiect
implements Readable,Closeable
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101195559233-1064944655.jpg)
三、转换流
1)、OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即将一个字符流的输出对象变为字节流的输出对象。
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101200319115-992980094.jpg)
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101200402341-356371315.jpg)
四、内存操作流
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101201203354-264880866.jpg)
2)、字符内存流:CharArrayReader(内存字符输入流)、CharArrayWriter(内存字符输出流)。
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101201209424-324672863.jpg)
五、管道流
定义:管道流的主要作用是可以进行两个线程间的通信。
管道输出流(PipedOutputStream)
六、打印流
打印流主要包含字节打印流(PrintStream)和字符打印流(PrintWriter)
![](https://img2018.cnblogs.com/blog/1580467/201911/1580467-20191101202119395-2112185965.jpg)