2014-03-13 40 views
3

我的财产文件位置是WebRoot/WEB-INF/Test/property files/Question.properties找不到Web应用程序中属性文件的路径?

现在我想使用FileInputStream加载属性文件。所以我写了下面的代码。

Properties pr = new Properties(); 
pr.load(new FileInputStream("WebRoot/WEB-INF/Test/property files/Question.properties")); 

通过上面的代码,我得到了java.io.FileNotFoundException。我使用myeclipse进行开发。任何人都可以建议阅读我的属性的路径。

+0

试试这个:而不是直接打开一个输入流,将该路径放在一个File对象中并打印getAbsolutePath()的值。你得到了什么? – Gimby

回答

2

您正在打开它相对于当前目录。你知道当前目录是什么吗?尝试创建一个:

File f = new File("WebRoot/WEB-INF/Test/property files/Question.properties"); 

然后打印或调试File对象的绝对路径。这会告诉你你正在尝试打开的文件(即完整路径)。

不过,如果你试图打开一个“资源”捆绑您的Web应用程序(通过/ WEB-INF的建议/路径是)这可能不是做一个好办法。一种替代方法是将您的'资源'构建到应用程序的.jar文件中。

看到这里,对于相关的答案: Refer to a web page inside a jar file

0

使用方法的InputStream java.lang.Class.getResourceAsStream(字符串名称)来代替,当你日食和月食外中运行你的类,这将工作。并使用与您在代码中提到的相同的路径,并在前面添加“/”。 希望这有助于!

+0

这不会帮助从WEB-INF/Test获取资源;该目录不在标准webapp类路径中。如果该文件位于WEB-INF/classes/Test中,它将工作。 – Gimby

0

做一两件事,用鼠标右键单击文件Question.properties点击属性获取文件的位置。

Properties pr = new Properties(); 
pr.load(new FileInputStream("Location of the file")); 
相关问题