2012-05-29 92 views
1

我有一个完美的开发模式的Google Web项目。在这个项目的某个地方,我创建了一些在解析后删除的.xml文件。在tomcat webapps文件夹中创建临时文件

当我在Tomcat7(var/lib/tomcat7/webapps)中部署我的项目的.war文件(我使用tomcat管理器来部署它)时,项目无法创建任何文件。我已经尝试了webapps文件夹内的所有可能的路径。我甚至尝试context.getRealPath(“/”)+“/ ROOT/tmp目录/”,但什么也没发生

回答

2

您应该使用的临时文件夹,而不是试图直接写信给你的web应用程序的部署目录:

ServletContext app = (servlet).getServletContext(); 
File tmpDir = (File)app.getAttribute("javax.servlet.context.tempdir"); 
File targetFile = new File(tmpDir, "mytempfile.xml"); 
... 

记得在try/catch块中做所有事情,并在'finally'块中妥善清理你的资源,否则你会后悔的。)

+0

其实我按照自己的方式玩弄了路径。问题是我想将我的文件写入公共可用的文件夹中。所以即使ROOT也不会帮助... – mariosk89

+0

那么,您需要将临时文件写入公共文件夹?为什么?如果您正在使用ServletContext.getRealPath(),那么您正在编写一个损坏的应用程序。 –

+0

嗯,我需要在公开可用的文件夹中编写KML文件,以便我可以在gmap上显示它们。这是不可能的解析本地KML文件,所以我试图找到一个技巧来管理它 – mariosk89

相关问题