У меня огромный текстовый файл (207 МБ, 4 миллиона строк), и мне нужно читать его последовательно построчно.Каждая строка имеет этот формат: 20227993821NAME AND SURNAME NINIC NN08
Я использовал (для обычных файлов) библиотеки Java FileReader
и BufferedReader
следующим образом:
FileReader dataFile = new FileReader(directory);
data = new BufferedReader(dataFile);
String s;
while((s = data.readLine()) != null){
//do stuff
}
без проблем, но для больших файлов обработка занимает слишком много времени.Интересно, что было бы наилучшей практикой в таких случаях (другая библиотека, другие методы и т. Д.), Все было бы полезно.Файл периодически выдается государственным органом, и он должен быть загружен в мое программное обеспечение для сравнения данных.
Редактировать:
Этот код:
BufferedReader data = new BufferedReader(new FileReader(file));
String s;
int count = 0;
while ((s = data.readLine()) != null) {
System.out.println (count + " - " + s);
count++;
}
data.close();
выполняется за 19 минут 30 секунд.Я не знаю, почему это заняло так много времени.У меня 64-разрядная операционная система и процессор i5.