gpt4 book ai didi

java - Tomcat创建文件的路径

转载 作者:行者123 更新时间:2023-11-28 22:20:06 26 4
gpt4 key购买 nike

我创建了一个 xml 格式的网站设置文件,这个文件的内容指定了网站标题、url、元描述、管理员电子邮件等。

在我的 Java 代码中,我简单地定义了如下文件:

private static final String webSettingFileName = "WebSettings.xml";

public void saveSetting()
{
File settingFile = new File(webSettingFileName);
// try-catch block to write the XML file omitted
}

部署war文件后,发现web Setting xml文件写入了Tomcat的bin文件夹,但是我想把文件写在Tomcat的webapps的ROOT文件夹下。所以我想知道如何在我的代码中指定文件路径。谢谢

编辑:

Jarrod Roberson 对重复问题给了我红色 -1。我不同意他的看法,因为我在发这篇帖子之前已经检查过帖子了。我尝试了 that post here 中建议的方法,但这对我不起作用,因为无论 Tomcat 重新启动多少次,我都需要将 Web 设置文件持久保存在同一位置(因此 tomcat/webapps 符合我的目的!)。该文件用于保存网站设置。此外,ServletContext 似乎无法在我用于我的 Web 应用程序的 Java 1.8 中工作。

编辑 2:

这就是我最终实现它的方式:

private final static File catalinaBase = new File(System.getProperty("catalina.base")).getAbsoluteFile();
private static final String webSettingFileName = "WebSetting.xml";
private final static File file = new File(catalinaBase, "webapps/" + webSettingFileName);

最佳答案

您可以使用方法 ServletContext.getRealPath("/") 获取当前 webapp 的绝对文件系统路径,例如:

File settingFile = new File(getServletContext().getRealPath("/"), webSettingFileName);

请注意,这仅适用于展开(解压缩)的 war 文件。

关于java - Tomcat创建文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24616519/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com