如何在java web项目的运行时期间在webroot中创建文件?

时间:2012-10-05 13:49:57

标签: java tomcat web-applications jboss

您好我必须使用java动态创建项目中的XML文件,并且必须使用基本路径URL读取它。我可以手动创建文件时读取文件,但无法动态创建它。当我使用文件f1 =新文件(“test.XML”); 时,它会在 tomcat的Bin文件夹中创建文件。在Tomcat和Jboss EAP 6中运行时,必须在Project中创建该文件。

1 个答案:

答案 0 :(得分:3)

您可以使用servlet上下文获取Web应用程序的真实路径:

new File( servletContext.getRealPath( "/text.XML" ) );

注意:如果你在Linux上运行tomcat / jboss,你可能必须允许在webapp文件夹中写入,这很可能是默认情况下禁止的。

引自ServletContext.getRealPath()的Servlet API文档:

  

返回包含给定虚拟路径的实际路径的String。   例如,路径“/index.html”返回绝对文件路径   服务器的文件系统将由请求提供服务   “http://host/contextPath/index.html”,其中contextPath是上下文   这个ServletContext的路径..