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

时间:2014-03-13 10:34:27

标签: 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.FileNotFoundException。我正在使用myeclipse进行开发。任何人都可以建议阅读我的财产的路径。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

使用方法InputStream java.lang.Class.getResourceAsStream(String name)代替,当你在eclipse和eclipse之外运行你的类时,这将有效。并使用与代码中提到的相同的路径,并在前面添加“/”。 希望这有帮助!

答案 2 :(得分:0)

右键单击Question.properties文件,点击属性获取文件的位置。

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