如何创建一个.INI文件以在Java中存储某些设置?

我想创建一个ini文件来存储我的应用程序的一些设置。找到jar文件的位置并在其中创建一个ini文件是一个好主意吗?如果是,那么如何找到jar文件的位置?

但是,如果您知道针对此类问题的更好解决方案,我想听听其中的一些内容。

:我正在使用mac,我想在Windows中运行相同的应用程序。我可以在System.getProperty(“

user.home”)目录中写一些东西,但是如果用户决定删除该应用程序,则希望保持系统的清洁。没有更好的方法来存储设置文件,例如与应用程序存储在同一目录中吗?

回答:

您可以使用ClassLoader找到应用程序目录。请参阅:Java:查找应用程序目录。使用 .properties 文件而不是 .INI 文件-

您可以通过Properties类加载并保存此文件。

__

正如其他人指出的那样,您不应将用户设置写入应用程序目录。如果用户没有对应用程序目录的写访问权限怎么办?如果您的应用程序被同一系统上的多个用户同时使用,该怎么办?这两种情况都没有异常,即使在Windows上也是如此。

您可能仍想从应用程序目录中加载某些设置-也许管理员已在此处配置了默认设置。

通用约定是将用户设置保存到用户的主目录中:

/home/user/.eclipse

C:\Documents and Settings\User\.eclipse

尽管这意味着您可能会留下杂散的文件,但是如果用户重新安装该应用程序,则可能会有所帮助。在自述文件中记录这些内容。以下是创建和获取目录引用的方法:

public static File getSettingsDirectory() {

String userHome = System.getProperty("user.home");

if(userHome == null) {

throw new IllegalStateException("user.home==null");

}

File home = new File(userHome);

File settingsDirectory = new File(home, ".myappdir");

if(!settingsDirectory.exists()) {

if(!settingsDirectory.mkdir()) {

throw new IllegalStateException(settingsDirectory.toString());

}

}

return settingsDirectory;

}

在类似Unix的操作系统上,以句点(“ .myappdir”)开头的目录名将使目录隐藏。在Windows上,该目录位于 我的文档

下方,因此用户只有在寻找该目录后才能看到该目录。

以上是 如何创建一个.INI文件以在Java中存储某些设置? 的全部内容, 来源链接: utcz.com/qa/404112.html

回到顶部