Это зависит от ваших требований. Будете ли вы честно использовать XML или блобы SQL для изображений или аудио высокого разрешения?
Я перечитал еще раз ваш вопрос: если у вас есть несколько произвольных объектов, которые вы хотите сохранить в образе файла, способ их ввода / вывода - это копирование и перемещение. Отпечаток может получить помощь от GC. Копия действительно проста и в основном зависит от процедуры перемещения.
Если бы требовалось работать с очень большими файлами, я бы предоставил в эту систему какой-нибудь метод, чтобы пометить объекты как «грязные», а также отметить, где они на самом деле лежат на изображении файла.
Также будет необходимо пометить удаленные объекты, если только вы никогда ничего не удалите.