BufferedReader или Scanner?
Сейчас, по скорости они практически одинаковы.
 Однако у Scanner есть методы useDelimiter(Pattern)иfindInLine(Pattern), которые позволяют моментально искать разделители, поэтому для .csv файлов лучше использовать его.
 А вообще, зачем изобретать велосипед, если есть замечательные
библиотеки Apache Commons CSV или opencsv?
Самый быстрый способ парсить большие файлы - C++  boost memory maped file + парсер на boost spirit
https://habrahabr.ru/post/246257/