servlet在tomcat下向文件中写东西时应该注意的有关问题
servlet在tomcat下向文件中写东西时应该注意的问题
作者:王奎
此文章也同时发布于我的博客:www.marksaas.com
就是文件绝对路径有问题,错误的代码我就不上了,下面写一下正确的代码,并说一下应该注意的问题。
下面是正确的代码,,说明一下news.txt在类路径下。
response.setContentType("text/html"); response.setCharacterEncoding("utf-8"); PrintWriter out=response.getWriter(); String fileName="/WEB-INF/classes/news.txt"; String realPath=this.getServletContext().getRealPath(fileName); File file=new File(realPath); if(file.exists()){ FileWriter writer=new FileWriter(file); BufferedWriter bufferedWriter=new BufferedWriter(writer); bufferedWriter.write("hello"); bufferedWriter.newLine(); bufferedWriter.write("word"); bufferedWriter.flush(); bufferedWriter.close(); writer.close(); }else{ out.println(); }我是在eclipse下部署到tomcat上的,我访问servlet时发现没有报错也没有其他异常,但是文件里就是没有东西,刷新也不行,最后打开部署到服务器上的项目时发现已经
写入到文件里了,回到看一下eclipse下文件的路径才发现并不是项目部署的路径,其实在部署时,eclipse把文件拷到一份到服务器下。。