我有一个计数器,每次用户输入特定单词时都会递增。程序终止后如何存储变量值,以便在用户再次启动程序时使用它?
答案 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。它的设置可能和编写自己的简单文件存储一样快,而且你可以从中获得更多。