我使用ObjectOutputStream编写了一个对象,并使用ObjectInputStream读取它并测试它,我得到了预期的结果。但是当在其他机器中写入对象时,在我的计算机中读取它,读取对象的成员是空的。有人能帮助我吗?谢谢
public class TrustNet implements Serializable{
public double[][] trusts;
public double avg = 0;
public TrustNet(int size){
trusts = new double[size][size];
}
public void writeToFile(String fileName){
try(ObjectOutputStream writer = new ObjectOutputStream(new FileOutputStream(fileName))){
writer.writeObject(this);
writer.flush();
} catch (IOException ex) {
ex.printStackTrace();
}
}
public static TrustNet readFromFile(String fileName){
try(ObjectInputStream writer = new ObjectInputStream(new FileInputStream(fileName))){
return (TrustNet) writer.readObject();
} catch (IOException ex) {
ex.printStackTrace();
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
return null;
}
}
答案 0 :(得分:0)
我花了一天时间才弄明白发生了什么。我想我终于有了答案。可能会帮助其他有类似问题的人。
在我的情况下,问题是由于使用 ProGuard 。
a
,b
,c
等