Java 在Web应用程序中找不到属性文件的路径?

Java 在Web应用程序中找不到属性文件的路径?,java,properties,fileinputstream,Java,Properties,Fileinputstream,我的属性文件位置是WebRoot/WEB-INF/Test/Property files/Question.properties 现在我想使用FileInputStream加载属性文件。所以我写了下面的代码 Properties pr = new Properties(); pr.load(new FileInputStream("WebRoot/WEB-INF/Test/property files/Question.properties")); 通过上面的代码,我得到了java.io.Fi

我的属性文件位置是
WebRoot/WEB-INF/Test/Property files/Question.properties

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

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

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

请改用InputStream java.lang.Class.getResourceAsStream(字符串名称)方法,当您在eclipse内部和外部运行类时,这将起作用。并使用与代码中提到的路径相同的路径,在前面添加“/”。
希望这有帮助

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

File f = new File("WebRoot/WEB-INF/Test/property files/Question.properties");
然后打印或调试
文件
对象的绝对路径。这将告诉您实际要打开的文件(即完整路径)

但是,如果您试图打开与web应用捆绑在一起的“资源”(如/web-INF/being in the path所建议的),这可能不是一个好方法。另一种方法是将“资源”构建到应用程序的一个.jar文件中

有关相关答案,请参见此处:

做一件事右键单击问题。属性文件单击属性获取文件的位置

 Properties pr = new Properties();
 pr.load(new FileInputStream("Location of the file"));

但是,这对从WEB-INF/Test获取资源没有帮助;该目录不在标准webapp类路径上。如果文件位于WEB-INF/classes/Test中,则可以使用该方法。请尝试以下操作:不要直接打开inputstream,而是将该路径放在文件对象中,然后打印getAbsolutePath()的值。你得到了什么?