Using org.simpleflatmapper.csv :
List<Map<String, Object>> listOfLine = new ArrayList<>(); //Your table
listOfLine.add(new HashMap<>()); //Your line
try (Writer writer = createFile(filename)) {
CsvWriter<Map> csv = CsvWriter.from(Map.class)
.separator(';')
.columns(listOfLine.get(0).keySet().toArray(new String[0]))
.to(writer);
for (Map<String, Object> line : listOfLine) {
csv.append(line);
}
writer.flush();
}