static void Main(string[] args)
{
using (FileStream zipToOpen = new FileStream(@"e:\release.zip", FileMode.Create))
{
using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Create))
{
IEnumerable<string> files = Directory.EnumerateFiles(@"E:\temp", "*.py");
foreach (string file in files)
{
ZipArchiveEntry readmeEntry = archive.CreateEntry(Path.GetFileName(file));
FileStream fs = new FileStream(file, FileMode.Open);// 讀取方式打開,得到流
byte[] datas = new byte[fs.Length];// 要讀取的內(nèi)容會放到這個數(shù)組里
fs.Read(datas, 0, datas.Length);
Console.WriteLine(fs.Name);//fs.Name會得到完整的路徑
fs.Close();
using (BinaryWriter writer = new BinaryWriter(readmeEntry.Open()))
{
writer.Write(datas);
writer.Close();
}
}
}
}
}
如果不適用using的話,一定要使用:
archive.Dispose();
zipToOpen.Close();
才能形成真正的zip文件。