-1

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

4

5 回答 5

2

您可以将 写入inta File,然后File在程序重新启动时读取 。

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

这是一个使用 a 的简单示例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与当前程序值保持同步。

于 2013-04-07T19:05:31.927 回答
1

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

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

于 2013-04-07T19:02:29.360 回答
1

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

于 2013-04-07T19:03:09.020 回答
1

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

于 2013-04-07T19:03:38.117 回答
1

如果您只需要一个简单的值,我会像其他答案一样使用一个简单的文件。

如果您需要更多内容,我会使用像H2这样的自包含数据库。设置起来可能与编写自己的简单文件存储一样快,而且您可以从中获得更多收益。

于 2013-04-07T19:09:59.773 回答