在java中读取Properties文件

时间:2012-09-27 21:10:41

标签: java properties

如何提供属性文件的绝对路径。

autoamtion_environment_properties = new Properties();
InputStream iStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(("C:\\automation_environment.properties"));

这是null pointer exception

如果我在项目根文件夹中有此文件,它可以工作,但我需要从外部访问它。知道需要做什么吗?

感谢。

4 个答案:

答案 0 :(得分:3)

该文件必须位于CLASSPATH中才能生效。您的IDE会为您解决困难,但是当您没有拐杖时,您需要知道自己在做什么。包括.properties文件在CLASSPATH中所在的目录。

答案 1 :(得分:1)

如果您知道文件的完整路径,则可以使用FileInputStream类

InputStream iStream = new FileInputStream(new File("C:\\automation_environment.properties"));

否则,请参阅此答案https://stackoverflow.com/a/676273/176569

答案 2 :(得分:0)

为什么不使用FileInputStream而不是那些疯狂的Thread东西?

InputStream in = new FileInputStream(new File("C:\\automation_environment.properties"));

http://docs.oracle.com/javase/6/docs/api/java/io/FileInputStream.html

答案 3 :(得分:0)

我会尝试将\设置为/取而代之: InputStream iStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(("C:/automation_environment.properties"));