Я использую следующие основные функции, которые я скопировал из сети, чтобы прочитать текстовый файлКак заставить Java читать очень большие файлы с помощью сканера?
public void read()
{
File file = new File("/Users/MAK/Desktop/data.txt");
System.out.println("Start");
try
{
//
// Create a new Scanner object which will read the data from the
// file passed in. To check if there are more line to read from it
// we check by calling the scanner.hasNextLine() method. We then
// read line one by one till all line is read.
//
Scanner scanner = new Scanner(file);
int lineCount = 0;
if (scanner == null)
{
System.out.println("Null File");
}
else
{
System.out.println(scanner.toString());
}
while (scanner.hasNextLine())
{
String line = scanner.nextLine();
System.out.println("Line " + lineCount +" contain : " + line);
lineCount++;
}
System.out.println("End of Try Bluck");
}
catch (FileNotFoundException e)
{
e.printStackTrace();
System.out.println("Exception Bluck");
}
System.out.println("End");
}
}
Это работает нормально со средним и малым размер файла (которые содержат от 10 до 20 тысяч строку данных) Однако он не работал с файлом, содержащим 500 тыс. строк. Я не получаю ошибку (по крайней мере, не вижу никого). так, что происходит? что я должен делать здесь, чтобы иметь возможность готовить такие большие файлы?
примечание: я уже увеличил кучу на 2 ГБ на тестовой машине, которая запускает Windows Server 2008 с 4 ГБ оперативной памяти. но это не помогло!
Пожалуйста, кто-нибудь может сказать мне, что мне следует делать здесь?
Обновление 01
Ниже выходного
Старт
java.util.Scanner [разделители = \ р {javaWhitespace} +] [позиция = 0 ] [match valid = false] [required input = false] [source closed = false] [skipped = false] [group separator = \,] [decimal separator =.] [положительный префикс =] [отрицательный префикс = \ Q- \ E] [положительный суффикс =] [отрицательный суффикс =] [NaN st кольцо = \ Q \ E] [бесконечность строка = \ Q∞ \ E]
Конец Попробуйте Bluck
Конец
Ты лучший! :) BufferedReader решил проблему! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! Спасибо! –