input: 3 columns cvs Book1.csv
"Number ""1""",8/15/2011,"line1
line2
line3"
"Smith, John",8/16/2011,"line A
line B
line C"
package egtry.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVStrategy;
public class ExcelCSVReader {
public static void main(String[] args) throws Exception {
InputStream in=ExcelCSVReader.class.getResourceAsStream("Book1.csv");
InputStreamReader inr=new InputStreamReader(in);
CSVParser parser=new CSVParser(inr, CSVStrategy.EXCEL_STRATEGY);
String[] row=null;
while( (row=parser.getLine()) !=null) {
for(int i=0; i<row.length; i++) {
System.out.println(row[i]);
}
System.out.println();
}
}
public static String getContent(String resourceName) throws IOException{
InputStream in = ExcelCSVReader.class.getResourceAsStream(resourceName);
BufferedReader reader=new BufferedReader(new InputStreamReader(in));
StringBuilder builder=new StringBuilder();
String line=null;
while( (line=reader.readLine()) !=null) {
builder.append(line+"\n");
}
in.close();
return builder.toString();
}
}
CSVParser.java source
output
Number "1"
8/15/2011
line1
line2
line3
Smith, John
8/16/2011
line A
line B
line C