Вы только что указали одну из основных причин для форматов баз данных и необходимость, которую они удовлетворяют.
Исходя из этого, решение кажется довольно очевидным, по крайней мере для меня: вам нужно использовать базу данныхкакой-то формат, возможно, вместе с кодом, который напрямую поддерживает этот формат.Практически любой приличный формат БД будет поддерживать то, что вы сказали, что вам нужно, поэтому в основном нужно решить, какая кодовая база обеспечивает интерфейс, который вам нравится.
Конечно, если вам нужно создать (например)нормальный текстовый файл как результат, тогда это не совсем решение.В случае, подобном этому, вам в значительной степени нужно укусить пулю и жить копированием большого количества данных.По крайней мере, по моему опыту, операционные системы достаточно ориентированы на последовательное чтение файлов, поэтому, если ваша модификация не будет вполне ближе к концу файла, вы можете легко найти более эффективным чтение и запись всего файла, а нечем копирование достаточно, чтобы освободить место для новых данных.