编写Java应用程序,创建一个可序列化类,将该类的对象写入到文件中。
时间: 2024-03-16 07:41:41 浏览: 68
好的,我会解答你的问题。以下是一个简单的Java应用程序,用于创建可序列化类并将对象写入文件:
```java
import java.io.*;
public class SerializableClass implements Serializable {
private int id;
private String name;
public SerializableClass(int id, String name) {
this.id = id;
this.name = name;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public static void main(String[] args) {
SerializableClass obj = new SerializableClass(1, "John");
try {
FileOutputStream fileOut = new FileOutputStream("object.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(obj);
out.close();
fileOut.close();
System.out.println("Object has been serialized");
} catch (IOException i) {
i.printStackTrace();
}
}
}
```
在上面的示例中,我们创建了一个名为`SerializableClass`的类,并实现了`Serializable`接口。该类具有两个私有属性:`id`和`name`,以及相应的getters和setters方法。
在`main`方法中,我们创建了一个`SerializableClass`对象,并将其写入名为`object.ser`的文件中。要将对象写入文件中,我们需要创建一个`ObjectOutputStream`对象,并将其与`FileOutputStream`对象一起使用。一旦我们将对象写入文件中,我们需要关闭`ObjectOutputStream`和`FileOutputStream`对象。
如果没有发生任何异常,程序将打印出“Object has been serialized”。
注意:当您想要从文件中读取对象时,您需要使用`ObjectInputStream`对象。您可以使用以下代码:
```java
try {
FileInputStream fileIn = new FileInputStream("object.ser");
ObjectInputStream in = new ObjectInputStream(fileIn);
SerializableClass obj = (SerializableClass) in.readObject();
in.close();
fileIn.close();
System.out.println("Object has been deserialized");
} catch (IOException i) {
i.printStackTrace();
} catch (ClassNotFoundException c) {
System.out.println("SerializableClass class not found");
c.printStackTrace();
}
```
我希望这能够回答您的问题。
阅读全文