当前位置: 首页 > 面试题库 >

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

容宏逸
2023-03-14
问题内容

我想创建一个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上,该目录位于 我的文档
下方,因此用户只有在寻找该目录后才能看到该目录。



 类似资料:
  • 我想在GitHub资源库中创建一个文件夹,并想在该文件夹中添加文件。我如何实现这一点?

  • 我想在java中创建一个https客户端,它最初没有任何CA证书可信任。因为我不希望JVM使用默认的cacerts文件,所以我应该创建一个空的信任存储并将其指向JVM<我怎样才能创建一个空的信任存储?

  • 是否可以加载自定义文件。ini文件,它覆盖了繁杂的php。分发包中的ini? 在unix系统上,我相信这可以通过在中放入额外的ini文件来实现,但我不确定IIS。 问题很简单:我可以定义一个额外的文件,用于添加或重载标准设置,例如: 位于中,是加载的配置文件<代码>myphp。ini是我的自定义配置 在哪里放置i,以便加载和,并且在? 是否有“扫描此目录以获取更多信息”。Windows下的ini文

  • 问题内容: 我有一个动态文本文件,可以根据用户的查询从数据库中选择内容。我必须将此内容写入文本文件,并将其压缩在servlet的文件夹中。我应该怎么做? 问题答案: 看这个例子: 这将在D:named 的根目录中创建一个文件,其中将包含一个名为的单个文件。当然,你可以添加更多的zip条目,还可以指定一个子目录,如下所示:

  • 问题内容: 如何在类内创建和实例化jpa存储库?我处于一种情况,必须为通用类中的不同实体创建存储库。 对于Neo4j存储库,我可以轻松地做到这一点,例如, 对于JpaRepository,我检查了文档并发现了这一点, 我不确定如何在以上代码中实例化工厂。 还不能通过指定域类来像创建Neo4j一样创建存储库吗? 问题答案: 我终于以这种方式工作了, 通过SimpleJpaRepository,我可以

  • 我的第一个java程序… 所以我试图用java创建一个文件并存储在我的pc中 我仍然得到这个错误 错误:未解决的编译问题:未处理的异常类型IOException未处理的异常类型FileNotFoundException未处理的异常类型IOException未处理的异常类型IOException未处理的异常类型IOException未处理的异常类型IOException未处理的异常类型IOExcep