第三周 day02

本文详细介绍了Java中的File类,包括文件的创建、删除、重命名、权限判断及时间查询等功能。此外,还讲解了如何使用GZIPOutputStream和ZipOutputStream进行文件压缩,以及通过GZIPInputStream和ZipInputStream解压缩。对象序列化方面,阐述了Serializable接口的使用,以及如何利用ObjectInputStream和ObjectOutputStream读写对象。最后,提到了RandomAccessFile类在随机文件读写中的应用,特别是其在处理等长记录格式文件时的优势。

5.3.5 File类

一、File类的作用

1.创建、删除文件

2.重命名文件

3.判断文件的读写权限及是否存在

4.设置和查询文件的最近修改时间

5.构造文件流可以使用File类的对象作为参数

二、File类的方法

1.exists():判断同名文件或路径是否存在

2.delete():删除文件

3.createNewFile():创建一个空文件

4.isFile():判断File对象代表是否是一个文件而非目录(路径),是文件返回true

5.isDirectory():判断File对象代表是否是一个目录而非文件,是目录返回true

6.mkdir():只能创建一级目录,且父目录必须存在,否则无法成功创建一个目录

7.mkdirs():可以创建多级目录,父目录不一定存在

 

 5.3.6 处理压缩文件

压缩:GZIPOutputStream 和 ZipOutStream: 可分别把数据压缩成GZIP格式和Zip格式

解压:GZIPInputStream 和 ZipInputStream: 可分别把压缩成GZIP格式或Zip的数据解压缩恢复原状

注意:Zip可以压缩多个文件,GZIP仅能对一个文件进行压缩

 

 5.3.7 对象序列化(实现Serializable接口)

对象的的读写:

ObjectInputStream:把对象读入文件

ObjectOutputStream:把对象写入磁盘文件

注意:不保存对象的transient和static类型的变量

eg:写入磁盘文件:

 eg:从磁盘文件读取对象:

 Seriealizable接口:

Serializable接口其实是一个空接口,只是一个标记,但若想对象序列化则必须声明

Externalizable接口(自定义对象序列化)

1.Externalizable接口继承自Serializable接口

2.必须实现两个方法writeExternal()和readExternal(),如果写和读对象,自己定制

3.将对象写入文件和从文件读取对象,使用的还是writeObject()和readObject(),它们再负责调用writeExternal()和readExternal()
 

5.3.8 随机文件读写

一、RandomAccessFile类

1.可跳转文件的任意位置读/写数据

2.可在随机文件中插入数据而不破坏文件的其他数据

3.实现DataInput和DataOutput接口,可使用普通的读写方法

4.有一个位置指示器,指向当前读写处的位置。刚打开文件时,文件指示器指向文件开头处,对文件指示器的操作方法有:

   (1)public int skipBytes(int n):把文件指针向前移动指定的n个字节

   (2)public void seek(long):移动文件指针到指定的位置

   (3)public long getFilePointer():得到当前的文件指针

5.在等长记录的格式文件的随机读取时有很大优势

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值