1、"流"的特性:
方向性;连续性;源头性;局限性;单位性
2、Java中IO流的分类:
1)方向:输入流 输出流
2)单位:字节流 字符流
3)源头(功能):节点流 处理流
3、所有的流由4个抽象类扩展而来:
1)InputStream:抽象的字节输入流
2)OutputStream:抽象的字节输入流
3)Reader:抽象的字符输入流
4)Writer:抽象的字符输出流
4、InputStream特性:
1)以字节的方式读取数据。
2)常用放大
int read():一次读取一个字节(8bit),并反馈这个字节代表的整数,所以 范围是[0,255](Unicode码中十进制对应的0-255);规定:当反馈的整数位-1时,代表文件读取结束。
void close():用来关闭数据流。释放内存,确保其安全
3)针对文件操作的子类:FileInputStream (可以读取各种类型的文件: 图片文档 压缩包等等,因为其实字节流)
5、OutputStream特性:
1)功能:将给定的整数以字节的方式输出
2)方法:
void write(int x):将给定的整数以字节的方式输出,所以 当x超过[0,255]的范围时,会失真。
void flush():刷新 将 缓冲区的数据一次性输出到目标处,确保输出成功。
void close():关闭输出流 释放所占资源 确保安全
3)针对文件操作的子类:FileOutputStream 文件的字节输出流
6、Reader 抽象的字符输入流,特性:
1)功能:以字符的方式读取数据
2)常用方法:
void read():用来读取一个字符 并反馈这个字符代表的整数 可表示的范围[0,65535] 规定:当反馈一个-1时代表文件读取结束
void close():关闭输入流 释放所占资源 确保其安全
3)针对文件的操作:FileReader
7、Writer 抽象的字节输出流
1)功能:将给定的整数 以字符的方式输出
2)方法:
void write(int x):将给定的整数以字符的方式 输出 不会失真
void flush():刷新 将缓冲区的数据一次性输出到目标处 确保输出成功
void close():关闭输出流 释放所占资源 确保其安全