0

我有以下代码,我试图从属性文件中获取一些值。我想要的是有一个 getData() 方法,它将接收一个包含来自属性文件的键的字符串参数。使用下面的代码,我总是得到“null”而不是指定键的值。有什么我没有弄清楚的吗?

public class PropertiesManager {

    static private PropertiesManager _instance = null;


    private static Properties props;

    protected PropertiesManager(){
        props = new Properties();
        try{
            props.load(PropertiesManager.class.getClassLoader().getResourceAsStream("config_keys.properties"));

        }
        catch(Exception e){
            System.out.println("error" + e);
        }
    }

    public static PropertiesManager getInstance(){
        if (_instance == null) {
            _instance = new PropertiesManager();
        }
        return _instance;
    }

    public static String getData(String key){
        if(props != null){
            props.getProperty(key);
        }
        return null;
    }
    public static void main(String[] args){
        System.out.println(getData(Constants.REG_ADDRESS));
    }
}
4

3 回答 3

1

您似乎忘记添加return关键字:

 if(props != null){
        return props.getProperty(key);
 }
于 2013-08-29T19:54:07.470 回答
1
public static String getData(String key){
        if(props != null){
            props.getProperty(key);
        }
        return null;
    }

应该:

public static String getData(String key){
         return  props.getProperty(key);

    }
于 2013-08-29T19:57:34.347 回答
0

你总是null从 方法返回。getData()所以改变它

    public static String getData(String key){
      if(props != null){
            return props.getProperty(key);
      }
     return null;
   }
于 2013-08-29T19:56:37.300 回答