1. File
1.1 概述
java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关
File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。
如果需要访问文件内容本身,则需要使用输入/输出流
想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对 象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录
File对象可以作为参数传递给流的构造器
1.2 方法
public String getAbsolutePath():获取绝对路径
public String getName() :获取名称
public String getParent():获取上层文件目录路径。若无,返回null
file.getParentFile() : 上级目录对应的文件对象
public boolean isFile() :判断是否是文件
public boolean isDirectory():判断是否是文件目录
public boolean exists() :判断是否存在
file.createNewFile(): 创建文件
file.delete() : 删除文件
file.listFiles() : 获取所有子文件对象
file.mkdirs() : 创建目录
2. 递归复制
1 复制 : 就是输入和输出结合使用
2 获取文件夹下所有子文件
如果子文件是文件,则复制
如果子文件是目录则再此获取该目录的所有子文件,做相同操作
注意 : 复制的时候,源目录和目标目录不能一致
判断是否是文件,是文件则进行如下操作
是目录,则进行如下操作
3. 对象流
3.1 概述
创建对象的方式 :
1 new 用的最多
2 反射机制 可以通过一个字符串来创建对应的对象
3 clone Object中的方法,已经废弃,被序列化代替
4 序列化
序列化 : 把堆内存的java对象,持久化保存在本地硬盘当中
反序列化 : 把硬盘当中的序列化文件,反序列化为堆内存对象
优点 : 可以长期保存 更利于数据传输
要序列化的类,必须实现Serializable接口
应用场景 :序列化是将数据转换为二进制流进行长期保存,如果不进行序列化 是不能进行长期存储和网络传递的
网络传输流程 : 数据对象 --> 序列化 --> 二进制流 --> 加密处理 --> 网络传输 --> 解密处理 --> 二进制流 --> 反序列化 --> 数据对象
3.2 序列化
3.3 反序列化