7.I/O流
1.字节流与字符流
字节流:处理的最基本单位为单个字节,常用来处理二进制数据、字节、字节数组。java中使用InputStream和OutputStream来传输和处理字节流。默认不使用缓冲区(实际上可以处理任意类型的数据)
字符流:操作的基本单元为Unicode码元(大小为2个字节,也即16位),常用来处理文本数据、字符(两个字节)、字符串。java中使用Reader和Writer来传输和处理字节流。使用缓冲区(不适用close方法,不会输出内容,不然使用flush强制刷新)
2.节点流和处理流
节点流:可以从或向一个特定的地方(节点)读写数据
处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写
3.序列化和反序列化
序列化:将数据结构或对象转换为二进制串的过程(实现java.io.Serializable接口来实现序列化)
反序列化:将在序列化中所生成的二进制串转换为数据结构或对象的过程
(对象序列化的用处就是传递和保存对象的时候,保证对象完整和可传递性)
4.一个file对象代表了一个文件或者文件夹的引用(并不是直接物理上的)
5.File类的方法mkdir和mkdirs的区别
mkdir:不能再不存在的文件夹下建立新的文件夹
mkdirs:如果父文件不存在并且最后一级子文件不存在,会自动创建所有路径里写的文件夹