方法
从文件中读取二进制数据
DataOutputSream out = new DataOutputStream(new FileInputSream("xx.dat"))
RandomAccessFile类可以在文件中的任何位置查找或写入数据
zip文档以压缩格式存储一个和多个文件,每个ZIP文件都有一个头,包含每个文件的名字和压缩方法等信息
需要存储相同类型的数据,使用固定长度存储是一个不错的选择
java 语言支持对象序列化的通用机制,可以将任何对象写入到流当中,并在之后将其读回 为了保存对象数据,首先需要打开一个ObjectOutputStrem对象
ObjectOutStream out = new ObjectOutputStream(new FileOutputStream("employee.dat"))
// 保存对象数据
Employee harry = new Employee("Harry Hacker",50000,1989,10,1);
Manager boss = new Manager("Carl Cracker",80000,1987,12,15);
out.writeObject(harry);
out.writeObject(boss);
// 读回对象数据
ObjectInputStream in = new ObjectInputStream(new FileInputStream("employee.dat"));
// 然后用 readObject方法以这些对象写入的顺序获得他们
Employee e1 = (Emloyee) in.readObject();
Employee e2 = (Employee) in.readObject();
// 如果希望在对象流中存储或者恢复所有的类都应进行一下修改,这些类必须实现Serializable接口
class Employee implements Serializable { ... }
一个类只有实现Serializable接口才能被序列化
什么是序列化:将对象的状态信息转换为可以传输和存储的过程,想对象此时的状态信息写出临时缓冲区或者永久缓冲区,日后需要的时候再转化为对象,重新使用
Serializable主要用来支持两种主要的特性:
重点
不了解的话请查阅或者@我
如果一个普通员工是两个经理的秘书,这种共享对象该如何存储
共享秘书
下面是相关算法
具体实现结果 查看代码