【问题标题】:java.io.FileNotFoundException: WebContent\WEB-INF\classes\nmdp.json (The system cannot find the path specified)java.io.FileNotFoundException: WebContent\WEB-INF\classes\nmdp.json(系统找不到指定的路径)
【发布时间】:2014-07-02 06:05:45
【问题描述】:
   try {
                InputStream fis = new FileInputStream("WebContent/WEB-INF/classes/nmdp.json");
                JsonReader jsonReader =Json.createReader(fis);


                //JsonObject from jsonReader
                JsonObject jsonObject = jsonReader.readObject();

                JDBC_DRIVER = jsonObject.getString("JDBC_DRIVER");
                DB_URL = jsonObject.getString("DB_URL");
                USER = jsonObject.getString("USER");
                PASSWORD = jsonObject.getString("PASSWORD");

        } catch (FileNotFoundException e) {
                e.printStackTrace();
            }

我可以从主函数访问这个文件..但是在 java web 应用程序的情况下..我得到这个异常....

【问题讨论】:

  • 使用您的文件路径而不是 WEB-INF。
  • 我将文件放在项目的根目录中。但还是一样:-(
  • 我可以使用绝对路径访问..但我的要求是使用相对路径访问文件..请帮助..

标签: json eclipse tomcat web-applications web


【解决方案1】:

如果文件在您的类路径中,则将其作为资源加载:

InputStream in = this.getClass().getResourceAsStream("/nmdp.json");
  1. WebContent 目录是 Eclipse 中用于存储项目资源的占位符。部署后,这将是您应用的根目录,因此调用“/WebContent/...”只能在 Eclipse 中使用。
  2. 仅当您的 war 文件已在服务器中解压缩时,才能使用 FileInputStream 读取文件。

【讨论】:

    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 2014-12-19
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2019-11-17
    • 2019-10-15
    • 2012-05-28
    相关资源
    最近更新 更多