保存基本排行榜的数据?

时间:2016-03-18 15:53:36

标签: java

我知道如何使用printWriter很容易地将数据保存到txt文件等。

我有一个mineSweeper游戏,它可以保存名称,登机口,完成所需的时间以及使用了多少枚地雷;该文件如下所示:

名称

10×10

00:00:01

20

间隙

重复

但是尝试对此进行排序将是一项非常困难的考验,因为保存在文件中的这些数据在技术上都不相关。

是否有任何方法可以保存这些数据,因此它们是相关的。

我当时正考虑将它保存在一个带有中断字符的大字符串中,例如

之间
 name + "!!" + boardSize + "!!" + time + "!!" + mines + "!?" < as the end break

任何帮助都会很棒,谢谢。

4 个答案:

答案 0 :(得分:1)

您可以将数据保存为xml:

<root>
<name>...</name>
<boardsize>...</boardsize>
.
.
.
</root>

这样,当您从文件中提取数据时,您将与数据保持关系

答案 1 :(得分:0)

执行此操作的最简单方法可能是sqlLite,它是可移植的并且相当直接使用,Tutorial point有一个很好的示例,说明如何设置和使用它 - http://www.tutorialspoint.com/sqlite/sqlite_java.htm

如果您想在seperare表中存储相关数据,可能还值得研究联接 - http://www.tutorialspoint.com/sqlite/sqlite_using_joins.htm

答案 2 :(得分:0)

保持简单,创​​建游戏会话的model 定义一个类,将其序列化为 json

  

{name:xoce,size:10x10,时间:00:00:01,地雷:20}

当此步骤准备就绪时,将每个游戏结果附加到Txt文件,如果要排序,则读取文件,将其反序列化为json列表,并使用匿名比较器对列表进行排序,以便您可以使用最佳排序标准

答案 3 :(得分:0)

如何创建包含所有必要属性的name类 - boardSizeSerializable,... - 并实施Comparable<T>和{{1}所以你可以稍后在数组中对它进行排序。

然后,您只需使用ObjectOutputStream将其保存到文件中即可。

List<Game> gamesList = ...; // I suppose you have a list of games you want to store
ObjectOutputStream oos = new ObjectOutputStream(...);
oos.writeObject(gamesList);
...