Я читаю бинарные файлы из InputStream
и должен хранить их в памяти для дальнейшей обработки. Самый очевидный подход — хранить прочитанные данные каждого файла в массиве byte[]
. Но я предполагаю, что есть более элегантные способы, которые предоставляют некоторый OO API для "файловых блоков" в памяти. Чтобы вы посоветовали?
- Должно быть возможно многократное чтение без перестройки структуры данных (доступ для чтения не должен влиять на внутреннее состояние большого двоичного объекта).
- (Случайный) Доступ для записи не требуется. Нет необходимости изменять определенные байты
- Наконец, после проверки несколькими посетителями, большой двоичный объект файла, хранящийся в памяти, будет записан на диск.
- Только чистая Java 8, никаких сторонних библиотек, таких как Apache Commons, Guava и т. д.