我编写了一个Web应用程序,它通过Web表单从用户那里获取输入,并根据该输入更改特定的html文件并创建一个新文件并将其保存在动态Web项目的webContent文件夹中。我有一个示例。 txt文件也放入该文件夹,但它没有在代码中创建它的东西用于测试。它根据需要下载,但创建的HTML文件在读取代码中的字节时出现500错误,Null指针异常。 摘录如下
String filepath = "/Users/schhatre13/Documents/workspace/CustomHTMLTool/WebContent/"+"customHTML.html";
File downloadedFile = new File(filepath);
BufferedWriter bw = new BufferedWriter(new FileWriter(downloadedFile));
bw.write(html);
bw.close();
response.setContentType("text/html");
response.setHeader("Content-Disposition",
"attachment;filename=customHTML"+new Date()+".html");
ServletContext ctx = getServletContext();
InputStream is = ctx.getResourceAsStream("/customHTML.html");
int read=0;
//i++;
byte[] bytes = new byte[BYTES_DOWNLOAD];
OutputStream os = response.getOutputStream();
while((read = is.read(bytes))!= -1){
os.write(bytes, 0, read);
}
os.flush();
os.close();
引发的错误是500内部服务器错误。
java.lang.NullPointerException
HTMLCustomizer.doGet(HTMLCustomizer.java:160)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
这是
行while((read = is.read(bytes))!= -1){
即Null指针异常。我不明白这个问题,因为我手动放置的.txt文件会根据需要下载。
由于 斯瓦拉杰
答案 0 :(得分:0)
什么是null? is
?如果是这样,这可能意味着您没有正确加载文件。请注意,Web内容目录可能与您期望的不同,并且某些服务器在启动时复制webapp文件夹。我建议尽可能相对地编写和读取文件,或者使用某种编程方式来确定web目录的文件路径。