4

I'm trying to export a SQL resultset to a comma delimited csv file using opencsv library. However when I pass the result set to the writeAll function, all works well except for the file that it generates does not separates the rows with a new line and creates a nearly un readable file when opened in notepad. Albeit the file that is created is valid and delimits well when imported into excel. However, I need the file this code generates to be readable when opened with a simple text editor. Any suggestions?

My CSV file handle looks like this:

CSVWriter wt = new CSVWriter(new FileWriter("file"), ',',
    CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.NO_ESCAPE_CHARACTER, "\n");
Nayuki
  • 17,911
  • 6
  • 53
  • 80
emu
  • 67
  • 1
  • 4

1 Answers1

8

Use the System Properties: line separator instead of "\n" (on Windows, "\r\n" is end of line),

CSVWriter wt = new CSVWriter(new FileWriter("file"), ',', 
    CSVWriter.NO_QUOTE_CHARACTER, 
    CSVWriter.NO_ESCAPE_CHARACTER, 
    System.getProperty("line.separator"));

From the System Properties link above,

"line.seperator" Sequence used by operating system to separate lines in text files

Elliott Frisch
  • 198,278
  • 20
  • 158
  • 249