我有一个文本游戏,使用可序列化类保存对象的状态,对象以这种方式存储:
FileOutputStream fileOut = new
FileOutputStream("./lib/savedGame/savedGame.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut);
out.writeObject(obj);
out.close();
fileOut.close();
System.out.printf("Serialized data is saved in ./lib/savedGame/savedGame.ser");
} catch (IOException i) {
i.printStackTrace();
}
}
问题是我尝试创建jar文件,然后将其放入文件夹然后创建文件夹./lib/savedGame/里面和MacOsx工作正常,当我尝试在Windows上执行jar时它没有保存一切。 如果我尝试将序列化对象放在一个文件夹中并反序列化它,就会发生同样的事情。适用于macOs但不适用于Windows。 我认为Windows可能会从不同的文件夹执行该文件,因此它找不到可序列化的对象?