У меня есть большой zip-файл (скажем, 10 ГБ), к которому я хочу добавить один маленький файл (скажем, 50 КБ). Я использую следующий код:
using System.IO.Compression;
using (var targetZip = ZipFile.Open(largeZipFilePath), ZipArchiveMode.Update)
{
targetZip.CreateEntryFromFile(smallFilePath, "foobar");
}
Хотя это работает (в конце концов), это занимает очень много времени и занимает смехотворное количество памяти. Кажется, извлечь и перепаковать весь архив.
Как я могу улучшить это в .Net 4.7? Решение без внешних зависимостей предпочтительнее, но не обязательно, если невозможно.