1 package sharin.csv.parser; 2 3 import java.io.Reader; 4 5 import sharin.util.IoUtils; 6 7 public class BasicCsvPushParser implements CsvPushParser { 8 9 private final char separator; 10 11 public BasicCsvPushParser() { 12 this(','); 13 } 14 15 public BasicCsvPushParser(char separator) { 16 this.separator = separator; 17 } 18 19 public String[][] parseAll(Reader reader) { 20 BasicCsvHandler handler = new BasicCsvHandler(); 21 parse(reader, handler); 22 return handler.getRecords(); 23 } 24 25 public void parse(Reader reader, CsvHandler handler) { 26 BasicCsvAutomaton automaton = new BasicCsvAutomaton(handler, separator); 27 int ch = 0; 28 29 while (ch != -1) { 30 ch = IoUtils.read(reader); 31 automaton.put(ch); 32 } 33 } 34 }