I have a hashmap with a String key and String value. It contains a large number of keys and their respective values.
For example:
key | value
abc | a
Using the Jackson API, Map or List of Map could be written in CSV file. See complete example here
/**
* @param listOfMap
* @param writer
* @throws IOException
*/
public static void csvWriter(List> listOfMap, Writer writer) throws IOException {
CsvSchema schema = null;
CsvSchema.Builder schemaBuilder = CsvSchema.builder();
if (listOfMap != null && !listOfMap.isEmpty()) {
for (String col : listOfMap.get(0).keySet()) {
schemaBuilder.addColumn(col);
}
schema = schemaBuilder.build().withLineSeparator(System.lineSeparator()).withHeader();
}
CsvMapper mapper = new CsvMapper();
mapper.writer(schema).writeValues(writer).writeAll(listOfMap);
writer.flush();
}