Привет, мне просто интересно, возможно ли ограничить размер памяти (JVM) при чтении текстового файла размером более 2 гб с использованием формы LineIterator Apache или BufferedReader или Scanner?
Предположим, у меня есть текстовый файл 2gb, и я хочу прочитать 500mb только для этого файла. И когда я доберусь до 500 мб, я уничтожу переменную (String), в которой хранятся данные, и она снова продолжит читать текстовый файл еще с 500 Мб, пока не достигнет максимального размера текстового файла. Таким образом, это похоже на разделение текстового файла на 500 МБ.Файл чтения Java с указанием предела памяти
LineIterator it = FileUtils.lineIterator(file,"UTF-8");
String line = null;
try {
while (it.hasNext()) {
line = it.nextLine();
}
Самый простой способ - создать '500mb'' byte [] 'и заполнить его. –
Но данные String не байты – tuturyokgaming
Все в файле - это байты. Вы можете создать 'char []', если хотите. –