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是可序列化的!