Я хотел бы знать, можно ли проверить размер zip-файла, который создается динамически, потому что я читаю каталог и генерирую zip-файл размером 19 МБ, и вместо этого я хотел бы создать два zip-файла, один 10 МБ и остальные 9мб. Однако, когда я указываю .Length в zip-файле внутри моего цикла, он говорит, что размер равен 0. Когда я заканчиваю добавлять файлы, он говорит, что это 19 МБ. Кто-нибудь знает, как это сделать?
Для этой задачи я использую только System.IO.Compression.
вот несколько примеров, чтобы показать, как я пытаюсь
String FilePath = "D:\Invoices";
string[] oFiles = Directory.GetFiles(FilePath,"*.pdf");
string name = DateTime.Now.Ticks.ToString()+".zip";
using(FileStream archive1 = File.Open(name,FileMode.Create))
{
using(var arch = new ZipArchive(archive1,ZipArchiveMode.Update))
{
for(int i =0; i<oFiles.Length;i++)
{
var fileinf = new FileInfo(oFiles[i]);
arch.CreateEntryFromFile(fileinf.FullName,fileinf.Name);
//here the zip file is always 0
Console.WriteLine(archive1.Length);
}
}
}
//here the zip file is updated
CreateEntryFromFile
возвращает запись. Вы можете сохранить текущую сумму сжатых размеров тех, которые вы добавляете. - person Retired Ninja   schedule 26.09.2020