属性文件返回null

时间:2012-04-22 17:50:01

标签: java

我正在尝试从属性文件中读取值 当我试图运行这个程序 它将输出作为
      null

import java.io.FileInputStream;
import java.util.Properties;
public class JavaApplication1 {
final private static String osName = System.getProperty("os.name");
static final Properties configFile = new Properties() {

    {
        try {
            configFile.load(new FileInputStream("config.properties"));
        } catch (Exception e) {
        }
    }
};
private static String DIR = osName.equals("Linux") ? configFile.getProperty("tempDirForLinux") : configFile.getProperty("tempDirForWindows");
public static void main(String[] args) {
    System.out.println(DIR);
}
}

1 个答案:

答案 0 :(得分:1)

在您的示例中有点奇怪的部分是您创建匿名Properties类的位置,然后在初始化语句中将属性加载到同一个类中。我不确定这是如何工作的(而且我猜不会)

这可能是你想要的

public class JavaApplication1 {
    final private static String osName = System.getProperty("os.name");
    static final Properties configFile = new Properties();

    static {
        try {
            configFile.load(new FileInputStream("config.properties"));
        } catch (Exception e) {
            e.printStackTrace();
        }
    };

    private static String DIR = osName.equals("Linux") ? configFile.getProperty("tempDirForLinux") : configFile.getProperty("tempDirForWindows");

    public static void main(String[] args) throws IOException {
        System.out.println(DIR);
    }
}
相关问题