我想知道是否可以检查动态创建的 zip 文件的大小,因为我正在读取一个目录并生成一个 19 MB 的 zip,我希望创建两个 zip,一个 10MB 和一个其他 9MB。但是,当我在循环内的 zip 文件中给出 .Length 时,它说大小为 0。当我完成添加文件时,它说是 19MB。有人知道该怎么做吗?
我只使用 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