我想创建一个线程来序列化我的对象。
我线程的运行方法:
public void run() {
try {
FileOutputStream fos = new FileOutputStream("SaveBook.ser");
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(K);
fos.close();
oos.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
线程类也从构造函数中得到一个对象K。
当我尝试反序列化 main 方法中的对象时出现错误。所以我检查了线程是否还活着,它是。我认为反序列化不起作用,因为当我尝试反序列化时线程仍然存在。
我如何开始线程:
SaveRunnable save = new SaveRunnable(K1);
save.start();
我如何尝试反序列化对象:
try
{
FileInputStream fis = new FileInputStream("SaveBook.ser");
ObjectInputStream ois = new ObjectInputStream(fis);
K4 = (Book) ois.readObject();
fis.close();
ois.close();
}catch (Exception e)
{
System.out.println("Error");
}
我的任务是在线程中进行序列化
如果出现错误:请提供堆栈跟踪。否则,我们只能猜测可能是什么问题。