0

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

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

这是给一个null pointer exception.

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

谢谢。

4

4 回答 4

3

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

于 2012-09-27T21:12:18.233 回答
1

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

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

否则,请参考这个答案https://stackoverflow.com/a/676273/176569

于 2012-09-27T21:16:58.493 回答
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

于 2012-09-27T21:13:26.630 回答
0

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

于 2012-09-27T21:20:12.230 回答