Я пытаюсь прочитать в потоке и сохранить прочитанные изображения в zip-файл, так как он будет работать в течение нескольких дней и будет генерировать слишком много отдельных файлов.
Меня не убеждают эти рассуждения.Фактическое количество файлов не должно иметь большого значения.Вы можете потерять в среднем 1/2 a (файловая система) дискового блока на файл, но при наличии терабайтных дисководов за пару сотен долларов это, вероятно, незначительно.
Но более важная проблема заключается в том, что произойдет, есливаше приложение ... или питание отключается.Если вы запишите все свои изображения прямо в ZIP-файл, есть вероятность, что в результате многодневной пробежки у вас останется только поврежденный ZIP-файл.Я ожидаю, что содержимое файла ZIP будет в основном восстанавливаемым, но только с использованием какого-либо стороннего (не Java) приложения.
Если ресурсы файловой системы (дисковое пространство, число inode и т. Д.) Равны реалистично беспокойство, тогда, возможно, вам следует написать скрипт для запуска (скажем) один раз в час и заархивировать файлы, которые были записаны за последний час, и (возможно) поместить файл ZIP в другое место.