Я читаю каждую строку с помощью Java Streams, но «иногда» процесс может быть остановлен (например: из-за проблем с сетью) и процесс перезапускается.
Я хотел бы продолжить с того же места, где процесс остановился. Нет базы данных, в которой можно было бы что-либо сохранить.
Я думал о следующих шагах:
- Прочитайте файл с помощью: Files.lines(path).forEach
- Выполняет обработку
- Сохраняет в ArrayList прочитанные строки
- Сохраняет в ArrayList прочитанные строки
- Сохраняет в ArrayList прочитанные строки
- Сохраняет в ArrayList li>
И удалите эти строки в исходном файле. - Если процесс останавливается, при следующем выполнении он читает файл в том же месте.
Я пробовал:
Код: Выделить всё
Files.write(path, listTmp, StandardOpenOption.WRITE, StandardOpenOption.TRUNCATE_EXISTING);
Есть ли возможность избежать чтения всего содержимого файла? Может быть, сохранить номер строки?
Подробнее здесь: https://stackoverflow.com/questions/667 ... -by-blocks