3

我正在尝试使用 InputStream 将 html 文件作为字符串读取,但无论我尝试什么,我都会不断收到空指针异常。我要读取的文件位于“/war/index.html”,读取它的代码如下所示:

File f = new File(path);
        ServletContext context = getServletContext();
        InputStream is = context.getResourceAsStream(f.getAbsolutePath());
        int data = is.read();

只要我调用 is.read(),它就会给我一个 NullPointerException。任何帮助表示感谢!

4

1 回答 1

1

这里似乎结合了 2 个问题:

  • 默认情况下,当您使用相对路径创建文件时,这种情况下的工作目录是java.dir,在大多数情况下,它webapps与 web-container 的文件夹不同
  • 您的路径中似乎有额外的war指标。

请检查 ServletContext 如何解析文件

所以你只需要使用:

ServletContext context = getServletContext();
InputStream is = context.getResourceAsStream("/index.html");
于 2013-05-31T08:23:48.013 回答