程序终止后如何存储变量

时间:2013-04-07 18:59:53

标签: java variables int

我有一个计数器,每次用户输入特定单词时都会递增。程序终止后如何存储变量值,以便在用户再次启动程序时使用它?

5 个答案:

答案 0 :(得分:2)

您可以将int写入File,然后在程序重新启动时阅读File

你只需要检查文件是否在启动时存在,如果它确实读取它,否则将int设置为零(或默认值可能是这样)。

这是一个使用DataOutputStream的简单示例 - 有些人可能会说是矫枉过正,但它允许您的代码可扩展;你也可以把其他东西写到文件中。

public static void main(String[] args) throws IOException {
    int myCounter = 0;
    myCounter += 10;
    final File file = new File("/some/sensible/location");
    try (final DataOutputStream dos = new DataOutputStream(new FileOutputStream(file))) {
        dos.writeInt(myCounter);
    }
    try (final DataInputStream dis = new DataInputStream(new FileInputStream(file))) {
        System.out.println("Reading int from file: " + dis.readInt());
    }
}

添加名为updateFile之类的方法,并确保File与当前程序值保持同步。

答案 1 :(得分:1)

为简单起见,您将要使用Scanner,并读入用户输入的数据。然后,您将在程序中存储输入的变量,然后将其写入文件。

Here是一个很好的教程,可以帮助您入门。

答案 2 :(得分:1)

您可以写入文件(例如使用扫描仪),然后在程序启动时从中读取。

答案 3 :(得分:1)

您可以使用已知路径和可靠权限从属性文件读取/写入。如果这是用户首选项/配置,您可以使用Preferences API。 API可以跨多个平台存储值,同时抽象存储它的位置/方式。

答案 4 :(得分:1)

如果你只需要一个简单的值,我会选择一个像其他答案一样的简单文件。

如果您还需要更多内容,我会使用自包含的数据库,例如H2。它的设置可能和编写自己的简单文件存储一样快,而且你可以从中获得更多。