如何在Java中定义配置参数?

时间:2012-11-21 08:08:00

标签: java

我的主要功能使用示例代码中给出的一组硬编码参数。 目标:我想要一个更清晰的代码,而不是在main中对这些值进行硬编码。 问题:有没有办法在一个单独的文件中定义所有这些参数,如配置文件并启用对main的访问?任何想要更改值的人都需要修改参数文件。如果有更好的方法来处理目标,请提出建议。

    public class Sample {

    public static void main(String[] arg) throws Exception {
    BufferedReader File = new BufferedReader(new FileReader("myfile.txt"));
            // parameter list
            String Parameter_1 = "Value_1";
            String Parameter_2 = "Value_2";
            .......
            //Function code
    }

3 个答案:

答案 0 :(得分:6)

查看Java属性文件;您可以使用类java.util.Properties轻松加载(并保存)它们。

属性文件是包含键值对的文本文件,例如:

Parameter_1=Value_1
Parameter_2=Value_2

加载属性文件非常简单:

Properties props = new Properties();
InputStream in = new FileInputStream("config.properties");
props.load(in);
in.close();

然后你可以得到值:

String Parameter_1 = props.get("Parameter_1");

答案 1 :(得分:1)

使用Properties对象:

Properties prop = new Properties();

        try {
               //load a properties file
            prop.load(new FileInputStream("config.properties"));

               //get the property value and print it out
                System.out.println(prop.getProperty("Value_1"));
            System.out.println(prop.getProperty("Value_2"));
            System.out.println(prop.getProperty("Value_3"));

        } catch (IOException ex) {
            ex.printStackTrace();
        }

答案 2 :(得分:0)

Preferences API是首选的方式,优于属性,至少从Java 1.4开始。其他方法与偏好之间实际上有comparison