我有一个计数器,每次用户输入特定单词时都会递增。程序终止后如何存储变量值,以便用户再次启动程序时可以使用它?
问问题
1426 次
5 回答
2
您可以将 写入int
a 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 回答