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();
    }
}
                Use this snippet for instantiating CSVWriter.
CSVWriter csvWriter = new CSVWriter(writer,
                                    '|',
                                    CSVWriter.NO_QUOTE_CHARACTER,
                                    CSVWriter.DEFAULT_ESCAPE_CHARACTER,
                                    CSVWriter.DEFAULT_LINE_END);
                        Just pass the pipe character as the default separator.
CSVWriter csvWriter = new CSVWriter(writer,'|');
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With