1.什么是流 ?
流是通道
在Java中可以理解为传输数据的通道
A========>B
2.流的 分类
①按方向
a.输入流
b.输出流
编写一个程序,需要读文件中的内存到程序中来,是输入流
写文件用输出流
②.按流量
一字符=二字节
a.字节型(通常用来操作二进制数据,音乐照片视频)
b.字符型(通常用来操作文本文档)
③.按功能
a.节点流
直接操作源对象的流对象
A==========>B A,B是源对象,直接操作在A,B上的就是流对象,这里称为C
b.过滤流
操作(源对象的流对象)的流对象
就是作用在C上的流对象
3.四个父类流
输入输出,字节字符
a.字节输入 InPutStream
b.字节输出 OutPutStream
c.字符输入 Reader
d.字符输出 Writer
以上的四个父类都是抽象类。都需要使用父类的子类才可以使用
每一个子类都对应一种数据源对象。
例如,操作文件的输入流,FileInPutStream
4.流操作的基本流程(FileInPutStream/FlieInOutStream)
5.BufferedReader和BufferedWriter(过滤流)
二个带缓存的字符输入流和字符输出流对象。
这二个是过滤流对象。不直接操作源对象。直接操作的是另一个流对象。
过滤流是对节点流功能的扩展。
Buffered是扩展的缓存