0

我最近开始学习 java,我有一个基本的简单游戏,我想保存数据。

我有用于背景的瓷砖。它的 55x32。我只需要保存tileID。我知道一些方法可以通过将它全部保存到一个字符串中来解决这个问题,可能用逗号分隔它。然后拆分它并从那里重新创建它。但。

我有一个相同的网格,15x15,但是这个数据需要多个东西,比如对象 ID、成本、级别、能量等等。它们是多种不同的东西。有些可能有能量,而另一些则有金属。

我怎样才能最好地在本地保存这些数据?

4

1 回答 1

1

序列化是最简单的选择 - 让您的对象(所有对象!)实现可序列化。然后只是:

File file = /* ask the user for a file name somehow - JFileChooser, whatever */
try ( ObjectOutputStream out = new ObjectOutputStream( new FileOutputStream( file ))) {
   out.writeObject ( myObject );
} catch (IOException ioe) {
    // do something if there is an error, at least this so you
    // know if something went wrong
   ioe.printStackTrace();
}

序列化的唯一问题是,如果您更改类(添加方法、字段、重命名),那么您将无法在新版本的程序中读取旧文件(有一些方法可以解决这个问题,但它们太复杂了,无法在这里描述)。有各种库可以让您更灵活地序列化为 XML 或 JSON。但是 Java 序列化是一个很好的起点。

于 2013-10-23T06:29:42.793 回答