如何在Java应用程序项目中维护配置文件,如C#应用程序中的配置文件?

时间:2015-04-14 15:26:31

标签: java c# console-application

在C#中,当我想创建一个配置文件时,它非常简单,只需右键单击鼠标并添加一个新的配置文件,该文件将被添加到解决方案中,并且它很容易维护。

但是在java中,我不知道什么方法是标准的。我看到有些人使用的是本地文件。如果这是最流行的方法,有人可以告诉我在哪里放置这个文件吗?我看到有人把它放在src文件夹中,其他人把它放在外部文件夹中。

你能告诉我哪个是标准的吗?维护配置的最佳做法是什么。

2 个答案:

答案 0 :(得分:1)

我不知道这是否是"标准"方式,但我认为这是最简单的方式。如果将属性文件放在项目的根文件夹

            - project
                - config.properties
                - src
                    - main
                    - ...
               - test

在Java中创建File实例并指定相对文件名时,将根据从中启动Java的目录解析名称

e.g。如果您在命令提示符中启动java,如下所示:

            cd C:\Users\Tom\example-project
            java example-project

这是你的代码:

            File file = new File("tom.txt");

然后文件变量将被解析为abolsute路径:C:\ Users \ Tom \ example-project \ tom.txt

当您通过Eclipse运行项目时,Eclipse会从项目的根目录启动java,这意味着如果您将配置文件放在项目的根文件夹中,那么

          File file = new File("name-of-config-file.properties");

将解析为您系统上的正确配置文件。

如果您创建一个可运行的JAR,这会带来额外的好处,因为您可以将配置文件放在与JAR相同的目录中,代码将继续工作(配置文件位置将相对于JAR解析)

如果您将配置文件放在/ src文件夹中,那么在从Eclipse运行和作为JAR运行时需要单独的代码

关于示例代码:

            //Read properties from disk
            File propertiesFile = new File("config.properties");
            FileReader reader = new FileReader(propertiesFile);
            Properties props = new Properties();
            props.load(reader);

            //Set and get properties
            props.setProperty("NewProperty", "value");
            String propValue = props.getProperty("propToGet");

            //Write properties to disk
            FileWriter writer = new FileWriter(propertiesFile);
            props.store(writer, "Added x properties");

答案 1 :(得分:0)

配置文件用于存储,读取写入用户设置。

我认为对于Web应用程序,您可以使用web.xml。对于其他应用程序,您应该使用Properties类来读取和写入设置。

至于放置它的位置,如果你没有指定路径,它将存储在你的根文件夹中,除此之外你必须提供显式路径。