Reputation: 463
I'm writing a csv file in java and i want to write csv file with '|' as delimiter. How can i do in my code.
public void createCsv(User user) {
try( FileWriter writer = new FileWriter(CSV_FILE_NAME,true);
CSVWriter csvWriter = new CSVWriter(writer,
CSVWriter.DEFAULT_SEPARATOR,
CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.DEFAULT_ESCAPE_CHARACTER,
CSVWriter.DEFAULT_LINE_END);
CSVReader reader = new CSVReader(new FileReader(CSV_FILE_NAME));){
if(reader.readNext() !=null) {
csvWriter.writeNext(new String[]{user.getFirstName(), user.getLastName()});
}else {
String[] headerRecord = {"First Name", "Last Name"};
csvWriter.writeNext(headerRecord);
csvWriter.writeNext(new String[]{user.getFirstName(), user.getLastName()});
}
} catch (IOException e) {
e.printStackTrace();
}
}
Upvotes: 9
Views: 14700
Reputation: 4754
Use this snippet for instantiating CSVWriter
.
CSVWriter csvWriter = new CSVWriter(writer,
'|',
CSVWriter.NO_QUOTE_CHARACTER,
CSVWriter.DEFAULT_ESCAPE_CHARACTER,
CSVWriter.DEFAULT_LINE_END);
Upvotes: 15
Reputation: 1611
Just pass the pipe character as the default separator.
CSVWriter csvWriter = new CSVWriter(writer,'|');
Upvotes: 2