【问题标题】:Java Config File not specific to directoryJava 配置文件不特定于目录
【发布时间】:2011-10-28 06:16:17
【问题描述】:

我在我的 java 应用程序中使用了一个配置 (.ini) 文件。目前我专门这样调用dll的位置。

Properties p = new Properties();
p.load(new FileInputStream("C:\\myconfigfile.ini");

我想拥有它,这样用户就不必在程序运行之前将其放入某个目录。

有没有办法实现这一点,或者这只是最佳实践。

【问题讨论】:

    标签: java configuration ini


    【解决方案1】:

    将其放入 CLASSPATH 并使用类加载器将资源作为流加载。这将始终有效,即使对于 WAR 文件或 JAR 中的 Web 应用程序也是如此。

    【讨论】:

      【解决方案2】:

      您应该将您的 ini 放在资源文件夹中并将它们作为资源加载。这是一个excellent tutorial,可以帮助您入门。

      【讨论】:

      • 由于教程,你赢了,由于某种原因我找不到。谢谢
      【解决方案3】:

      在你的根目录中创建一个ini文件夹,然后把它放在那里。那么当你开始你的程序时,这一切都与你从哪里开始有关。

      Properties p = new Properties();
      p.load(new FileInputStream(".\\ini\\myconfigfile.ini");
      

      【讨论】:

      • 但这对用户有用吗?例如,如果我将我的应用程序和配置交给某人,我希望他们只运行它,而不将配置文件移动到正确的位置。
      • 您可能希望将它包含在您的捆绑包中,无论是您的 jar 文件还是 zip 文件,或者您拥有什么。
      • 老实说,我觉得@Duffymo 有最好的答案
      【解决方案4】:

      看看Apache Commons Configuration。 它正在解决有关配置文件的许多问题。它还支持为每个用户配置单独的配置,这对于团队开发非常重要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多