В примере показано, как создать StreamWriter и записать данные в запись архива.Поскольку StreamWriter предназначен для текста, вам необходимо получить доступ к потоку или использовать другой модуль записи для двоичного файла.Ниже приведен краткий пример того, как прочитать желаемый двоичный файл и записать байты в поток аналогичным способом.
string fileToZipPath = @"c:\users\exampleuse\binaryfile.exe";
using (FileStream zipToOpen = new FileStream(@"c:\users\exampleuse\release.zip", FileMode.Open))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
{
ZipArchiveEntry readmeEntry = archive.CreateEntry("BinaryFile.exe");
using (Stream writer = readmeEntry.Open())
{
using (FileStream fileToCompress = new FileStream (fileToZipPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
fileToCompress.CopyTo(writer);
}
}
}
}