2015-12-08 137 views
1

例如我有财产:project.password.time=123456如何使用属性作为变量?

然后,我想在某些类中使用它作为变量。

例如,Long time = {my property}

这不起作用:(java.lang.NumberFormatException:空)

Long time = Long.valueOf(System.getProperty("project.password.time")) 

我该怎么办呢?

+1

请澄清 “我有财产......” – jhamon

+1

你尝试类似_System.out.println(System.getProperty( “java.runtime.version”)) ; _来测试你的属性是否实际加载? –

+0

另外请注意,不应该有'“单曲的属性定义,即正确的形式在属性文件属性'project.password.time = 123456' –

回答

0

如果你有一个文件可以说config.properties那么你可以

final Properties props = new Properties(); 
    final String propertyFileName = "config.properties"; 
    final InputStream inputStream = getClass().getClassLoader().getResourceAsStream(propertyFileName); 

    if (inputStream != null) { 
     props.load(inputStream); 
    } else { 
     throw new FileNotFoundException("Property file not found " + propertyFileName); 
    } 
    System.out.println(props.getProperty("project.password.time")); 

系统的println将打印值123456

,因为我不知道什么是您的需求,这似乎是最简单的答案。 正如Jiri注意到的那样,您希望将属性propertyName = value作为属性文件充当地图。

0

我只是需要加入

@Autowired 
private Environment env; 

    Long time = Long.valueOf(env.getProperty("project.password.time"));