文件IO总结:
实现:io的直接子类FIO;
FileInputStream和FileOutputStream 是一种字节流,与之对应的FileReader,FileWriter是字符流
1. 字节流与字符流:
字节流:一次读写一个字节或从[]byte(缓冲区)里一次读取更多的字节;
字符流:一次读写一个字符或从[]char(缓冲区)里一次读取更多的字符;
都包括节点流与处理流:
节点流:不经过缓存区的,直接操作文件本身(当没有关闭io对象的时候,文件依然 存在输出的内容)
处理流:经过缓存区(关闭io或强制清空缓存(flush方法)的时候才有内容输出)
理解 字节流 的时候,可以用[]byte 为代表理解 ;理解 字符流 的时候,可以看成是String
字节流和字符流的相互转换:[]byte和String类型的相互转换
2.字节流对文件的读写(copy)
创建文件读对象in调用read方法(in.read()),创建文件的写对象out调用write方法(out.write());
read,write方法重载了三种方法
read:返回值:读取的字节个数(int),读到最后返回-1(可以利用这个返回值实现copy文件的字节数与原文件大小一样)。