用java遍写一个程序,保存一个包含整数、日期和地址的对象到文件sample.dat中,并从该文件中读取对象显示出来。
时间: 2024-04-29 19:23:40 浏览: 109
这里提供一种简单的方法:
1. 首先,我们需要定义一个包含整数、日期和地址的类,例如:
```
import java.io.Serializable;
import java.util.Date;
public class MyObject implements Serializable {
private static final long serialVersionUID = 1L;
private int number;
private Date date;
private String address;
public MyObject(int number, Date date, String address) {
this.number = number;
this.date = date;
this.address = address;
}
public int getNumber() {
return number;
}
public void setNumber(int number) {
this.number = number;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return "MyObject [number=" + number + ", date=" + date + ", address=" + address + "]";
}
}
```
该类实现了Serializable接口,以便可以将对象序列化和反序列化。
2. 接下来,我们编写一个保存和读取对象的类,例如:
```
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
public class ObjectFile {
public static void main(String[] args) {
// 创建一个对象
MyObject obj = new MyObject(123, new Date(), "Beijing");
// 将对象保存到文件中
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("sample.dat"))) {
oos.writeObject(obj);
} catch (Exception e) {
e.printStackTrace();
}
// 从文件中读取对象并显示
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("sample.dat"))) {
MyObject obj2 = (MyObject) ois.readObject();
System.out.println(obj2);
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
该类首先创建了一个MyObject对象,并将其保存到文件sample.dat中;然后从该文件中读取对象,并将其显示出来。注意,在读取对象时需要将其强制转换为MyObject类型。
运行该程序,可以得到类似下面的输出:
```
MyObject [number=123, date=Wed Nov 10 16:55:08 CST 2021, address=Beijing]
```
阅读全文