I've used OpenCSV in the past.
import au.com.bytecode.opencsv.CSVReader;
String fileName = "data.csv";
CSVReader reader = new CSVReader(new FileReader(fileName ));
// if the first line is the header
String[] header = reader.readNext();
// iterate over reader.readNext until it returns null
String[] line = reader.readNext();
There were some other choices in the answers to another question.