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

标签 java tomcat web-applications jboss

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

最佳答案

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

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

注意:如果您在 Linux 上运行 tomcat/jboss,您可能必须授予在 webapp 文件夹中写入的权限,而默认情况下这很可能是被禁止的。

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

Returns a String containing the real path for a given virtual path. For example, the path "/index.html" returns the absolute file path on the server's filesystem would be served by a request for "http://host/contextPath/index.html", where contextPath is the context path of this ServletContext..

关于java - 如何在java web项目运行时在webroot中创建文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12747715/

相关文章:

java - 更改 Vaadin 流程 (14) 基本配置不影响

java - 从随机的三元组字母表中猜一个词

java - 通过网络有效地发送玩家 Action

java - Tomcat 在请求完成时删除文件?

javascript - Web应用程序在客户端存储大量数据

java - 我应该把这个配置设置放在哪里?

Java错误 'error: cannot find symbol'

java - 我可以向哪些类/实例中注入(inject) CDI 事件?

java - spring和maven类库及访问xml文件

java - 如何在 Java 代码中检测应用程序类型