Java 不知道为什么?

Java 不知道为什么?,java,Java,我有以下错误: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: flexitime.UniSystems 通常的原因是什么? 我正在尝试读取名为storage.dat的文件 获取错误的代码是 private void loadFile() { try { FileInputStream inStream = new FileInputStream(file

我有以下错误:

java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: flexitime.UniSystems
通常的原因是什么? 我正在尝试读取名为storage.dat的文件

获取错误的代码是

private void loadFile() {
    try {
        FileInputStream inStream = new FileInputStream(fileName);
        ObjectInputStream inputObjects = new ObjectInputStream(inStream);
        system = (UniSystems)inputObjects.readObject();
        inStream.close();
    }
    catch (ClassNotFoundException err) {
        // Class in the file does not have a matching class definition
        JOptionPane.showMessageDialog(null, "Please contact IT Support quoting code CNF",
                "Application error!", JOptionPane.ERROR_MESSAGE);
        err.printStackTrace();
    }
    catch (IOException err) {
        // Some other IO error has occurred
        JOptionPane.showMessageDialog(null, "Please contact IT Support quoting code IIO",
                "Application error!", JOptionPane.ERROR_MESSAGE);
        err.printStackTrace();
    }

}
它一直到第二次接球,然后将错误抛出。 有什么想法吗

java.io.NotSerializableException:flexitime.UniSystems

似乎UniSystems是不可序列化的

为了让ObjectInputStream正常工作,需要使用它


自从您编写该文件以来,类是否发生了更改?

我不认为直接存在错误。这是一个写入错误,代码看起来是可读的

您的类可能没有要序列化的UUID


否则,如果您有引用,您需要将它们标记为
transient
我相信关键字是。但是,引用不应该引发异常,只要在您尝试使用对象时中断即可,因为引用(除非您中了彩票)在远程主机上无效。

从异常中看起来像“UniSystems”不实现可序列化。你确定这就是你正在阅读的对象吗?我在哪里需要序列化?文件读入,然后使用UniSystems进行填充。我已经确定UniSystems是可序列化的!