0

我想知道如何使用 Java 在动态 Web 项目的 WebContent 文件夹中创建文件?

剩下的基本问题是如何获取 WebContent 文件夹的路径。

注意:不使用 servlet!

编辑:

好的,我正在尝试从 java 方法创建一个新的 xml 文件。我希望在 WebContent 文件夹中创建该文件,以便即使在部署应用程序时也可以创建该文件。

我正在使用 Jboss、maven、JSF 创建动态 Web 项目。我需要 xml 文件将数据传递给 highcharts。请注意,我将仅使用此方法。

概述:

根据要求创建 xml 文件

在 WebContent 文件夹本身中创建的 XML 文件

使用此 xml 文件传递​​数据

4

1 回答 1

-1

玻璃鱼溶液。AbstractSearchPageBean - 你的任何班级

private static final String WEB_INF = "WEB-INF";

public static String getWebPath() {
    final String webInfPath = getWebInfPath();
    return webInfPath.substring(0, webInfPath.indexOf(WEB_INF) - 1);
}

public static String getWebInfPath() {
    String filePath = "";

    java.net.URL url = AbstractSearchPageBean.class.getResource("AbstractSearchPageBean.class");
    if (url != null) {
        String className = url.getFile();
        filePath = (className.contains(WEB_INF)) ? className.substring(0, className.indexOf(WEB_INF) + WEB_INF.length()) : className;
    }
    return filePath.replace("%20", " ");
}

// Create file in webapp/xml directory
private void createXmlFile(String xml) {
    try {
        String fileName = System.currentTimeMillis() + ".xml";
        File file = new File(Settings.getWebPath() + File.separatorChar + "xml" + File.separatorChar + fileName);
        logger.debug("parseXML(): Creating file: " + file.getAbsolutePath());
        if (file.createNewFile()) {
            FileWriter fw = new FileWriter(file);
            fw.write(this.parseXML(xml));
            fw.flush();
            fw.close();
            logger.debug("parseXML(): file saved to the: " + Settings.getAPPLICATION_DOMAIN() + '/' + fileName);
        } else {
            logger.warn("parseXML(): Can't create file: " + file.getAbsolutePath());
        }
    } catch (IOException ioe) {
        logger.error("parseXML(): Bad save file: ", ioe);
    }
}
于 2012-02-09T12:17:24.593 回答