gpt4 book ai didi

Java ObjectInputStream 从不同应用程序读取

转载 作者:行者123 更新时间:2023-12-01 12:34:18 25 4
gpt4 key购买 nike

我保存了一个ArrayList<MyClass>作为带有 ObjectOutputStream 的对象。现在,我如何在另一个应用程序项目上使用 ObjectInputStream 读取该对象?我尝试了一下,它抛出了 ClassNotFoundException 。我已经复制了MyClass从项目 1 到项目 2。我还需要做其他事情吗?

最佳答案

您不应该复制一个类并期望它看起来相同 - Java 编译器/JVM 会注意到更改。使用完全相同的类文件!!!

有几个版本可以这样做:

  • 交付 Project1 和 Project2 并设置您的 CLASSPATH
  • 同一包中的类文件复制到Project2
  • 将包含 MyClass 的 Jar 附加到 Project2

还有一点你永远不应该忘记:每个Serialized都应该有一个serialVersionUID Eclipse会自动发出警告 - 单击它并生成它。如果您没有 Eclipse,请使用 JDK 中的 serialver
但不要忘记:如果您的类发生更改,导致新版本无法解释旧版本,请更改 serialversionUID

关于Java ObjectInputStream 从不同应用程序读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25704585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com