【问题标题】:error while deserializeing .dat file反序列化 .dat 文件时出错
【发布时间】:2023-04-02 09:57:01
【问题描述】:

我的老师为我提供了序列化文件..我没有自己创建它..在对文件进行反序列化时出现以下错误

java.io.InvalidClassException: netflix.memreader.FeatureWriter; local class incompatible: stream classdesc serialVersionUID = 3279065858639389501, local class serialVersionUID = -7190666486441488760
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
    at netflix.memreader.FeatureWriter.deserialize(FeatureWriter.java:327)
    at netflix.memreader.MemReader.readFeaturesFromMem(MemReader.java:811)
    at netflix.memreader.MemReader.main(MemReader.java:727)
Exception in thread "main" java.lang.NullPointerException
    at netflix.memreader.MemReader.readFeaturesFromMem(MemReader.java:814)
    at netflix.memreader.MemReader.main(MemReader.java:727)

【问题讨论】:

  • 这里是代码 public static FeatureWriter deserialize(String fileName) { try { FileInputStream fis = new FileInputStream(fileName); ObjectInputStream in = new ObjectInputStream(fis); return (FeatureWriter) in.readObject(); //反序列化到 memReader 类 } catch(ClassNotFoundException e) { System.out.println("Can't find class"); e.printStackTrace(); } catch(IOException e) { System.out.println("IO 错误"); e.printStackTrace(); }
  • 将您的代码添加到您的帖子中(使用 edit)。
  • 在问题本身中包含代码

标签: java database excel serialization deserialization


【解决方案1】:

正如例外所说,

本地类不兼容:stream classdesc serialVersionUID, local 类serialVersionUID

序列化对象具有不同的 serialVersionUID 。当您尝试反序列化对象时,如果您不指定默认值,编译器将生成serialVersionUID

serialVersionUID 在不同编译器(在不同平台上)的相同对象上可能会有所不同。您可以添加 ,

private static final long serialVersionUID = -7190666486441488760;

【讨论】:

  • 您是否对序列化文件中的值进行了硬编码?您是否仍然遇到同样的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多