dev6546 dev6546 - 1 year ago 141
Android Question

SuperCSV append rather than overwrite?

Is it possible to add new lines to a CSV file, rather than overwrite the last one?

Here is my method I call when I want to add a new line:

private static void writeWithCsvMapWriter() throws Exception
final String[] header = new String[] { "Engineer", "Time/Date", "Project", "Test ID", "Data Centre", "Data Hall", "Row", "Grille", "I/S" };

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd_HH:mm:ss");
String currentDateandTime = sdf.format(new Date());

final Map<String, Object> NewRow = new HashMap<String, Object>();
NewRow.put(header[0], Name.getText().toString());
NewRow.put(header[1], currentDateandTime);
NewRow.put(header[2], "Expect");
NewRow.put(header[3], TestID.getText());
NewRow.put(header[4], DataCentre.getText());
NewRow.put(header[5], DataHall.getText());
NewRow.put(header[6], Row.getText());
NewRow.put(header[7], Grille.getText());
NewRow.put(header[8], IS.getText());

ICsvMapWriter mapWriter = null;

mapWriter = new CsvMapWriter(new FileWriter("data/data/" + PACKAGE_NAME +"/writeWithCsvMapWriter.csv"), CsvPreference.STANDARD_PREFERENCE);

final CellProcessor[] processors = getProcessors();

mapWriter.write(NewRow, header, processors);
if( mapWriter != null )


Answer Source

Add true to the parameters in new FileWriter:

mapWriter = new CsvMapWriter(new FileWriter(".../writeWithCsvMapWriter.csv", true), CsvPreference.STANDARD_PREFERENCE);
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download