保存我的唯一 ID(字符串)并稍后在我重新启动 Java 应用程序时检索它

Posted

技术标签:

【中文标题】保存我的唯一 ID(字符串)并稍后在我重新启动 Java 应用程序时检索它【英文标题】:Save my Unique ID (String) and retrieving it later when I re-launch my Java application 【发布时间】:2012-07-25 07:24:15 【问题描述】:

我想保存一个在我启动 Java 应用程序时创建的唯一 ID(它是一个字符串)。现在我想把它保存在某个地方(我想是在磁盘上的某个文件中),这样当我重新启动我的应用程序时,我应该能够读取它并使用该 ID。

我想知道保存此类 ID 的好方法是什么。我正在考虑创建一个Properties 文件并保存它,然后在我重新启动应用程序时从中检索它。有没有更好或标准的方法?

编辑:

另外应该是存储在磁盘上的文件夹位置。它应该是相对于我的执行路径还是某些登录用户特定的路径?

【问题讨论】:

是的,这是一个不错的选择,但也取决于您在其中存储的内容 该文件没问题,请注意将其存储在操作系统的相应文件夹中(Windows 中的Users/yourUser/AppData,Linux 中的/home/yourUser)等。 另一个选项是偏好 api。 docs.oracle.com/javase/6/docs/api/java/util/prefs/… 【参考方案1】:

1.如果是写入或读取此字符串的同一个Java应用程序,则使用Serialization,保存时它将是不可读的形式。

2.如果读写来自不同的程序,则使用Text file

3. 使用Property file 也是一个不错的方法。

【讨论】:

我也会使用简单的序列化。 @KumarVivek:感谢您的回答。理想情况下,如果我使用属性文件,文件夹位置应该是什么?[查看我有问题的更新]。 我通常将我的属性文件直接放在我的 bin 文件夹中,这有助于我的程序轻松找到它........【参考方案2】:

如果您的应用/程序需要在某个时候存储更多数据,那么 sqlite3 可能是您的最佳选择。它易于实现和使用。

Download sqlite3

编辑:应用程序中将存储多少个 ID?如果只有几个,一个文本文件或属性文件就足够了。

EDIT2:导航到您机器上的 Documents 文件夹,您将看到程序/游戏文件夹。那就是你应该放置文件/数据库的地方。但是,您也可以将其存储在硬盘驱动器的安装路径中。还要确保您的用户通过快捷方式启动应用程序,而不是实际的执行文件

【讨论】:

【参考方案3】:

使用 Java 中的 FileWriter 和 File 类。

应该是这样的:

File f = new File(your path here);
if (f.exists())
BufferedReader br = new BufferedReader(new FileReader(your path here));
String a = br.readLine();
br.close();
else
FileWriter fw = new FileWriter(your path here);
fw.write(your ID String);
fw.flush();
fw.close();

我希望这是你的意思。 最好的问候

编辑:刚刚注意到您编辑了您的帖子为时已晚......

【讨论】:

以上是关于保存我的唯一 ID(字符串)并稍后在我重新启动 Java 应用程序时检索它的主要内容,如果未能解决你的问题,请参考以下文章

应用程序重新启动时照片丢失并取消固定

要保存在服务器中的核心数据的唯一 ID

CoreData 仅在我重新启动应用程序后更新?

如何在从 Spark 消费 Kafka 时获取偏移 id,将其保存在 Cassandra 中并使用它来重新启动 Kafka?

需要将表格视图的内容保存为 txt 文件并稍后重新加载

重新启动应用程序时获取 ArrayList?