package org.sfm.csv.parser;

import java.io.IOException;
import java.io.Reader;

import org.sfm.utils.RowHandler;

public final class CsvParser {
	
	private final int bufferSize;
	
	public CsvParser(final int bufferSize) {
		this.bufferSize = bufferSize;
	}
	
	public CsvParser() {
		this(1<<16);
	}
		
	public <CH extends CharsCellHandler> CH parse(final Reader r, final CH handler) throws IOException {
		new ReaderCsvParser(bufferSize).parse(r, handler);
		return handler;
	}
	
	public <RH extends RowHandler<String[]>> RH readRows(final Reader r, final RH handler) throws IOException {
		new ReaderCsvParser(bufferSize).parse(r, new StringArrayHandler(handler));
		return handler;
	}
}

@@ -139,18 +139,191 @@
 arser %7B%0A
+%09public static int _4K = 1 %3C%3C 12;%0A%09public static int _8K = 1 %3C%3C 13;%0A%09public static int _16K = 1 %3C%3C 14;%0A%09public static int _32K = 1 %3C%3C 15;%0A%09public static int _64K = 1 %3C%3C 16;%0A
 %09%0A
-
 %09private
@@ -459,13 +459,11 @@
 his(
-1%3C%3C16
+_8K
 );%0A%09

Change default size