1

我有一个小问题,我正在尝试在 Java Web 服务中使用 FileInputStream 加载属性文件。

app.config.properties 文件包含下一行:

fileSales = C:/Users/clens/Documents/sales.xml

我的 java web 服务类包含下一行:

    InputStream is = null;
    try 
    {
      is = new FileInputStream("app.config.properties");
      objPropiedades.load(is);
      ruta = objPropiedades.getProperty("fileSales");
    } 
    catch(IOException ioe) 
    {
        ioe.printStackTrace();
    }

控制台显示下一个异常:

FileNotFoundException: app.config.properties  

日志文件:

SEVERE:   at java.io.FileInputStream.open(Native Method)
SEVERE:   at java.io.FileInputStream.<init>(FileInputStream.java:138)
SEVERE:   at java.io.FileInputStream.<init>(FileInputStream.java:97)
4

2 回答 2

1

由于您的属性文件肯定在您的类路径中,因此请使用此代码来获取InputStream它:

is = MyService.class.getClassLoader().getResourceAsStream("/app.config.properties");

调整包含文件的包的路径(用斜杠替换点)。

于 2013-06-12T14:28:39.967 回答
0

看起来您的 app.config.properties 文件不在您的工作位置。

两种选择

  1. 将 app.config.properties 文件放在 Web 服务应用程序的 WEB-INF/classes/ 文件夹中。
  2. 使用完整的限定路径名引用 app.config.properties 文件。假设这是一个标准的 Web 服务应用程序。

    E:\Tomcat 7.0\webapps\WebServiceProject\WEB-INF\classes\app.config.properties

于 2013-06-12T14:35:02.650 回答