04 IO流(二)——IO类的记忆方法、使用场景
关于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!