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");
解决方案
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