servlet在tomcat下向文件中写东西时应该注意的有关问题

servlet在tomcat下向文件中写东西时应该注意的问题


作者:王奎            此文章也同时发布于我的博客:www.marksaas.com

刚才看到一篇文章,讲到的是servlet写文件,这篇文章还是写的有问题,和我上一篇servlet在Tomcat下读取文件犯了同样的毛病。还可以参考我以前的文章tomcat下获取项目绝对路径问题。

就是文件绝对路径有问题,错误的代码我就不上了,下面写一下正确的代码,并说一下应该注意的问题。

下面是正确的代码,,说明一下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把文件拷到一份到服务器下。。