Java 中流操作的类太多,各种迷惑,, 不得不记 -_-!!
Java 流分类
1:按数据流的方向不同可分为 输入流和输出流。
2:按处理数据单位不同可分为 字节流和字符流。
3:按功能不同的可分为 节点流和处理流
IO 包中的所有流类都分别继承下面的四种抽象流类
类型 | 字节流 | 字符流 |
输入流 | InputStream | Reader |
输出流 | OutputStream | Writer |
节点流
可以从一个特定的数据源(节点)读取数据 比如 读取某个文件的字符
处理流
连接在已存在的流(如节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。
也就是说 凡是在操作时需要某一个 节点流为基础后进行读写操作的就叫做处理流。
例如:
FileInputStream 【文件输入的字节流】 他就是一个节点流,因为是直接操作某个文件,不需要任何的特殊处理。
那么处理流必须要有一个 像 FileInputStream 之类的流(也可以是处理流) 才能运行,例如 使用 FileInputStream 来读取某个文件的字节
如果该文件有10000个字节,那就必须读取 10000次 ,但如果在 基本的节点流中在套一层 处理流 我们就可以直接读取该文件的一行 或更多。
文件流
FileInputStream
FileOutputStream
FileReader
FileWriter
缓冲流
BufferedInputStream
BufferedOutputStream
BufferedReader
BufferedWriter
数据流
转换流
print 流
object 流