2

鉴于我要部署的“war”文件的以下目录结构,我必须从“ReadProp.java”类中读取属性文件“MyProperty.properties”。

MyApp.war
|
----MyProps
|       |--MyProperty.properties
|---WEB-INF
|        |--classes
|             |---ReadProp.java

我将在“Sun 门户服务器”中部署这个“战争”文件。但是由于需求规范,我不应该更改任何此目录结构。

从“ReadProp.java”类中读取属性文件“MyProperty.properties”的最佳方法是什么?

4

3 回答 3

3

得到答案

 String path = servletContext.getRealPath("/MyProps/MyProperty.properties");
        System.out.println("path: " + path);

        Properties prop = new Properties();
        try {
            prop.load(new FileInputStream(path));
        } catch (Exception e) {
                        e.printStackTrace();
        }
        String name= prop.getProperty("name");
于 2012-09-20T10:00:23.540 回答
0

一种方法来做到这一点

ReadProp.class.getResourceAsStream("MyProps/MyProperty.properties");

Myprops 应该在服务器类路径中。

做这件事的理想方法是将其保存Myprops 在 WEB-INF/classes 目录中。

于 2012-09-20T08:16:35.190 回答
0

最好的选择是将文件放在src/resources/MyProperty.properties. 它最终会classes在你的.war. 最好使用/src/mainand /src/test,然后如果 需要资源(例如.properties文件)main,请将其保留在src/main/resources/MyProperty.properties.

于 2012-09-20T08:17:05.203 回答