当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何创建.INI文件以在Java中存储一些设置?》经验,为你挑选了2个好方法。

我想创建一个ini文件来存储我的应用程序的一些设置.找到jar文件的位置并在那里创建一个ini文件是一个好主意吗?如果是,那我怎样才能找到jar文件的位置?

但如果你知道更好的解决方案,我希望听到其中的一些.

编辑:我正在使用mac,我想在Windows中运行相同的应用程序.我可以在System.getProperty("user.home")目录中写一些东西,但是如果用户决定删除应用程序,我想保持系统清洁.没有更好的方法来存储设置文件,例如与应用程序在同一目录中?



1> McDowell..:

您可以使用ClassLoader找到您的应用程序目录.请参阅:Java:查找应用程序目录.使用.properties文件而不是.INI文件- 您可以通过Properties类加载并保存它.

正如其他人所说,您不应该将用户设置写入应用程序目录.如果用户没有对应用程序目录的写访问权,该怎么办?如果您的应用程序同时被同一系统上的多个用户使用该怎么办?即使在Windows上,这些情况都不常见.

您可能仍希望从应用程序目录加载一些设置 - 也许管理员已在此处配置了默认设置.

常见的惯例是将用户设置保存到用户的主目录:

/home/user/.eclipse
C:\Documents and Settings\User\.eclipse

虽然这意味着您可能会遗留杂散文件,但如果用户重新安装该应用程序,这将非常有用.在README中记录这些内容.以下是如何创建和获取目录的引用:

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上,它将位于" 我的文档"下方,因此除非用户查找,否则用户将看不到该目录.



2> Dan Dyer..:

如果设置仅由您的应用程序编写(而不是手动编辑),请考虑使用Preferences API.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有