У меня есть большой файл с 10K сущностями (сущность в строке)
Я хочу прочитать его кусками по 1 тыс. сущностей в список.
Я пытался:
public List<String> getNextRequestsChunk() {
List<String> requests = new ArrayList<>();
try {
randomAccessFile.seek(currentSeekPosition);
String line = null;
while ((requests.size() < chunkSize) && (line = randomAccessFile.readLine()) != null)
{
currentSeekPosition += line.length();
requests.add(line);
}
} catch (IOException ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
return requests;
}
У меня есть этот файл:
11
22
33
..
100100
и когда я повторно запускаю этот метод для куска № 2, он не дает мне ожидаемую строку 33
, а строку 2
(chunkSize
— 2 строки, currentSeekPosition
= 4)
Как я могу это исправить?