Сохранить ArrayList в CSV-файл Apache Wicket

Как я могу "записать" ArrayList в файл, который я могу загрузить после записи? Один элемент в списке - это одна строка в CSV-файле.

Например: у меня есть ArrayList<String> myList = service.getListЧем я хочу написать в файл. в простом клиент-приложении это было бы просто. Но я должен сделать это с Apache Wicket. Также было бы неплохо иметь Filebrowser, где я могу указать, в какой каталог я хочу его скачать.

Я думал, это будет работать так:

final File filetoSave = new File("Exported Objects.csv");
        Writer writer = null;
        try {

            writer = new BufferedWriter(new FileWriter(filetoSave));
            writer.write("");
            for (obj o : listO) {
                writer.append(o.getasd);

            }
        } catch (IOException ex) {
            // report
        } finally {
            try {
                writer.close();
            } catch (Exception ex) {
            }
        }

Но это не так. Я должен использовать JBoss-сервер. На моем локальном причале он работал, но на JBoss-сервере это сделать невозможно. Wicket-версия: 1.4.7

2 ответа

Или используйте Resource в сочетании с ResourceLink, Создайте файл на лету.

Смотрите Wicket в DownloadLink для функции загрузки и используйте временный файл (File.createTempFile()) для создания загружаемого CSV. То, как вы сейчас создаете свой файл, находится в текущем рабочем каталоге вашего контейнера. Возможно, у вас нет прав на запись в этом месте, но temp должен работать.

Другие вопросы по тегам