对IO流的总体理解
一、流的分类
1- 操作数据单位:字节流、字符流
2- 数据流线:输入流、输出流
3- 流的角色:节点流、处理流
二、流的体系结构(基础)
抽象基类 节点流(或者文件流) 缓冲流(处理流的一种)
InputStream FileInputStream BufferedInputStream
OutputStream FileOutputStream BufferedOutputStream
Reader FileReader BufferedReader
Writer FileWrite BufferedWrite
三、流的对应-使用(场景)
io主要:输入和输出
1- 对于文本文件(.txt、.java、.c、.c++这些属于文本文件),可以拿-字符流来读
2- 对于非文本文件(.jpg、.mp3、.mp4、.avi、.doc、.ppt这些属于非文本文件),可以拿--字节流来读
四、图形理解:
水池 --- 垃圾水管 --- 垃圾水管外面包透明胶 --- 下水道
文件(总) -----节点流(总) ---- 处理流(总) -------反馈(总)
字符流 字符流的缓冲流
字节流 字节流的缓冲流
五、流的体系结构(详细解析)
抽象基类 节点流(或者文件流) 缓冲流(处理流的一种)
InputStream FileInputStream(read(byte[] buffer)) BufferedInputStream(read(byte[] buffer))
OutputStream FileOutputStream(write(byte[] buffer,0,len)) BufferedOutputStream(write(byte[] buffer,0,len))
Reader FileReader(read(byte[] buffer)) BufferedReader(read(byte[] buffer)/readLine)
Writer FileWrite(write(byte[] buffer,0,len)) BufferedWrite(write(byte[] buffer,0,len))