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.在等长记录的格式文件的随机读取时有很大优势

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

被折叠的 条评论
为什么被折叠?



