sumit maske
sumit maske

Reputation: 463

How to add delimiter while writing .csv file using openCSV

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.

This is my Java 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

Answers (2)

Jagrut Sharma
Jagrut Sharma

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

gagan singh
gagan singh

Reputation: 1611

Just pass the pipe character as the default separator.

CSVWriter csvWriter = new CSVWriter(writer,'|');

Upvotes: 2

Related Questions