Мне нужно записать мой query.getResultList() в файл CSV.
Я вызываю запрос по этому поводу:
final Query q = em.createNamedQuery("getalljobs");
final List<Job> joblist = q.getResultList();
И Namequery просто выполняет "SELECT * FROM TABLE"
Результат query.getResultList()
выглядит так:
[id;name, id;name, ... ]
Я не могу использовать OpenCSV
Файл CSV должен иметь ЗАГОЛОВКИ.
-1
Phil
26 Янв 2022 в 12:11
2 ответа
Лучший ответ
Вы можете использовать что-то вроде
Query q = em.createNamedQuery("getalljobs");
List<Job> jobList = q.getResultList();
String csvHeader = getHeader();
try (PrintWriter fw = new PrintWriter(new FileWriter("output.csv"))) {
fw.println(csvHeader);
for(String line : jobList){
fw.println(line);
}
}
1
Sergey Tsypanov
26 Янв 2022 в 15:54
Но как мне получить или лучше установить заголовки этой душой?
– Phil
26 Янв 2022 в 15:12
Я обновил ответ
– Sergey Tsypanov
26 Янв 2022 в 15:54
Решение
Запишите строку за строкой в файл с помощью StringBuidler.append. Для этого добавьте запятую и новую строку после каждой строки.
1
Phil
26 Янв 2022 в 13:45
Похожие вопросы
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].
BerufeList
должен быть отдельной строкой в целевом CSV-файле, верно?