一、字节输入输出流
字节流针对的是文本文件
流:一切对象数据传输的总称或抽象
1、输出:从程序中向文件访问输出
类:OutputStream,时所有字节输出流的父类,通常使用其子类FileOutputStream类实现
OutputStream out= new FileOutputStream()
2、输入:从文件中向程序访问输入
类:InputStream,时所有字节输出流的父类,通常使用其子类FileInputStream类实现
InputStream in= new FileInputStream()
注:在字节输入输出中,都是一个字节一个字节地进行输入输出,
在设计输入数组时,不能设计数组长度为1,因为每个汉字的大小为2个字节
在输入时,对于文件中的字节,如果超过字节数组的范围,则会分批次进行输入,直到最后,当最后一次存入数组的时候,如果数组长度大于剩余字节,则数组中后面部分剩下的字节会继续保留上的内容并输入至程序中
在字节流中,会有一个自带的内存,对字节进行存储
二、字符输入输出流
字符流针对的是非文本文件
1、输出:从程序中向文件访问输出
类:Writer,时所有字节输出流的父类,通常使用其子类FileWriter类实现
Writer w = new FileWriter()
2、输入:从文件中向程序访问输入
类:Reader,时所有字节输出流的父类,通常使用其子类FileReader类实现
Reader r= new FileReader()
三、文件的复制
即在对文件的访问中,在输入的同时,对文件进行输出,即可实现文件的复制
四、字节字符转换流
转换流即
:程序对文件进行字符转字节输出访问
:文件对程序的字节转字符的输入访问
五、字节字符缓冲流
为了避免程序频繁的对文件进行操作,从而导致的效率低的问题,因此引入缓冲流
在缓冲流中,会有一个长度为8192的数组,对刚才的操作字节资字符进行暂时的保存,直到数字装满,才会将其保存在文件之中,然后从头开始缓存。
缓存可以进行高效的对数据的写入和读取进行操作。