Java 序列化引发IO异常的列表
我需要一些帮助。。我一直在玩这个游戏,不知道我错过了什么,我相信这是一个小东西,但我不能把我的头围绕它。我有一个包含Java 序列化引发IO异常的列表,java,serialization,Java,Serialization,我需要一些帮助。。我一直在玩这个游戏,不知道我错过了什么,我相信这是一个小东西,但我不能把我的头围绕它。我有一个包含Student对象的二进制搜索树,我试图将该树转换为一个列表,然后序列化该列表,当程序再次运行时,反序列化该列表并将每个对象添加回我正在使用的树中。我不知道为什么,但我的例外总是被抓住 以下是我写作的地方: private void saveRecord() { JOptionPane.showMessageDialog(null, "saving file...
Student
对象的二进制搜索树,我试图将该树转换为一个列表,然后序列化该列表,当程序再次运行时,反序列化该列表并将每个对象添加回我正在使用的树中。我不知道为什么,但我的例外总是被抓住
以下是我写作的地方:
private void saveRecord() {
JOptionPane.showMessageDialog(null, "saving file...");
System.out.println("Saving records:");
ToListVisitor<Student> listVisit = new ToListVisitor<>();
tree.inOrderTraversal(listVisit);
System.out.println("List contains: " + listVisit.getList());
try (ObjectOutputStream output = new ObjectOutputStream(
new FileOutputStream(file))) {
output.writeObject(listVisit.getList());//something with this line?
} catch (FileNotFoundException fnfe) {
System.out.println("File not found");
} catch (IOException ioe) {
System.out.println("An error occured during serialization");
System.out.println(ioe.getMessage());
System.out.println(ioe.getStackTrace());
}
}// end saveRecord
有人知道我的错误在哪里吗?
学生
需要实现可序列化可序列化接口没有任何方法。它可能看起来不需要,或者只是一个信息插件。但是内部java序列化(和其他框架)使用此接口检查类是否可序列化。什么IOException?您应该在问题中发布堆栈跟踪。这不是一个猜谜游戏。@EJP}catch(IOException ioe){System.out.println(“序列化过程中发生错误”);System.out.println(ioe.getMessage());System.out.println(ioe.getStackTrace());}我问的是堆栈跟踪,而不是如何打印。事实上你做错了。应该是“ioe.printStackTrace()”。啊!谢谢你我真不敢相信我错过了。。就这样@听到这个消息我很高兴。请随意投票,接受这个答案。
public class ToListVisitor<E extends Comparable<? super E>>
implements Visitor<E> {
List<E> list = new ArrayList<E> ();
public ToListVisitor() {
this.list = list;
}
public List<E> getList() {
return list;
}
public void visit( BSTNode<E> node ) {
System.out.println(node.element);
list.add( node.element );
}
}