退出程序时如何让java保存数据

时间:2015-12-28 10:29:18

标签: java boolean

我正在制作一个程序,为其添加成就。我将使用一些简单的代码来检查布尔值是否设置为false,然后才能获得成就private boolean hasAch1 = false;但是每当我关闭应用程序时它将布尔值设置为false,我只是想知道是否有办法如果您已收到成就,请将布尔值设置为true吗?

4 个答案:

答案 0 :(得分:1)

public static void main(String[] args) {
    Runtime.getRuntime().addShutdownHook(new Thread() {
        public void run(){
            //save data here
            System.out.println("Exiting");
        }
    });
}

但我不推荐它,因为计算机可能崩溃和许多其他问题。最好每5分钟左右自动保存一个文件。

答案 1 :(得分:0)

每次关闭应用程序时都要写一个外部文件,并在打开它时将其读回。这样您就可以跟踪变量。

http://www.javapractices.com/topic/TopicAction.do?Id=42

答案 2 :(得分:0)

您可以使用序列化将类的实例保存到外部文件,下次可以读取文件并反序列化。

以下是您可以参考的示例 -

http://www.tutorialspoint.com/java/java_serialization.htm

答案 3 :(得分:0)

如果要维护应用程序的状态,则有2个选项。

1. Serialize数据。

2.将数据存储在数据库中。

对于小型应用程序,您可以进行序列化。 在退出时提出保存状态的问题,@ WalterM已经回答了这一部分。