1.概念
1.Java中的流是对字节序列的抽象,对于数据的输入/输出操作都是以“流”的方式进行。
2.流具有方向性的,至于是输入流还是输出流则是一个相对的概念,一般以程序为参考,如果数据的流向是程序至设备,则为输出流,反之称为输入流。
2.分类
可以从不同的角度对流进行分类:
1.处理的数据单位不同,可分为:字符流,字节流
2.数据流方向不同,可分为:输入流,输出流
3.功能不同,可分为:节点流,处理流
本次主要是理解字符流和字节流的概念和区别
3.字符流和字节流的概念
1.字符流
基本单位为字节,也就是8bit。
java为我们提供了两个类,分别是FileOutputStream 类 负责写入,FileInputStream类 负责读出,使用它们的时候要抛异常.
1.FileOutputStream 类 写入内容到文件 在写入内容时,需要把字符串通过调用getBytes()转化为byte类型方能写入文件
2.FileInputStream 类 读出文件内容 在读出文件内容时 需要用数组来接收,数组类型为Byte类型
2.字符流
基本单位为Unicode码元,即16bit 使用字符流需要用到4个类 :
1.FileReader类 文件读入BufferReader类
2.文件读入缓冲区 FileWriter 文件写入 BufferWrite 文件写入缓冲区
4.字符流和字节流的区别
1.字节流操作的基本单元为字节;字符流操作的基本单元为Unicode码元。
2.字节流默认不使用缓冲区;字符流使用缓冲区。
3.字节流通常用于处理二进制数据,实际上它可以处理任意类型的数据,但它不支持直接写入或读取Unicode码元;
字符流通常处理文本数据,它支持写入及读取Unicode码元