Сохранить 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 должен работать.