循环遍历序列化文件

时间:2013-03-12 22:25:39

标签: java fileinputstream

我正在进行一项应该打开序列化文件并输出它的学校作业。我无法弄清楚它为什么不打印任何东西。看起来循环根本不起作用。有什么想法吗?

public ReadFile()
{
    try
    {
        fis = new FileInputStream("Clients.ser");
        ois = new ObjectInputStream(fis);
    }
    catch(Exception e) {}
    try
    {
        while(true)
        {
            //cast according to class Record
            r = (Record) ois.readObject();
            System.out.print(r.account + r.firstName + r.lastName + r.balance);
        }
    }
    catch(IOException ioe) { ioe.printStackTrace(); }
    catch(ClassNotFoundException cnfe) {}
}

修改

IOException添加了一个堆栈跟踪并返回:

  

Record; local class incompatible: stream classdesc serialVersionUID = 5124020354301486787, local class serialVersionUID = -8881068308941519505

1 个答案:

答案 0 :(得分:3)

该消息表示您尝试反序列化的类与您指定的类不同。

你是否按照序列化的方式给了Record课程,或者你自己写了吗?