Day_20 File操作、递归复制、序列化

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 反序列化 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值