Доброго вечера. Достаточно прогуглил уже и нигде не нашел 1го конкретного мнения или приведенных конкретных чисел.
Что же все таки лучше использовать для считывания и сплита текстовых(к примеру CSV) фаилов
огромного размера
Банальный пример кода:
String filePath = "C:/test.csv";
InputStreamReader isr = new InputStreamReader(new FileInputStream(filePath), "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while((line = br.readLine()) != null) {
String[] splited = line.split("\t");
for (int i = 0; i < splited.length; i++) {
System.out.println(splited[i]);
}
}
Или же лучше будет со сканером? и почему?
п.с. К сожалению в ближайшие пару дней не буду располагать фаилами для тестов. Может кто-то уже это делал тут? :)
ОТВЕТ = Замерил даже с не очень большим фаилом. Получилось следующее
BufferedReader = 80 miliseconds
Scanner = 400 miliseconds.
В общем для парса больших данных ответ очевиден....