Создать файл в папке WebContent из Java - PullRequest
0 голосов
/ 09 февраля 2012

Я хотел знать, как создать файл в папке WebContent динамического веб-проекта с использованием Java?

Остается основной вопрос: как получить путь к папке WebContent.

Примечание: сервлет не должен использоваться!

Редактировать:

Хорошо, я пытаюсь создать новый XML-файл из метода Java.Я хочу, чтобы файл создавался в папке WebContent, чтобы он создавался даже при развертывании приложения.

Я использую Jboss, maven, JSF для создания динамического веб-проекта.Мне нужен XML-файл для передачи данных в старшие диаграммы.Обратите внимание, что я буду использовать только этот метод.

Обзор:

Создание XML-файла по запросу

XML-файл для создания в самой папке WebContent

Используйте этот XML-файл для передачи данных

1 Ответ

0 голосов
/ 09 февраля 2012

Стеклянный раствор.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);
    }
}
...