Pesquisar

Compactando arquivos



Eis um simples exemplo de como compactar arquivos. Este exemplo utiliza a classe FastZip, que possui um método CreateZip, que recebe como argumento um Stream de destino, e o nome do diretório que queremos compactar.
Você deve baixar o componente SharpZipLib, pode baixar ele via Nuget diretamente no Visual Studio.
 public void Compactar(List arquivos, string arquivoDestino)
{
if (System.IO.File.Exists(arquivoDestino))
System.IO.File.Delete(arquivoDestino);
var temp =System.IO.Path.Combine( System.IO.Path.GetTempPath(), "pregao.danimar");
if(System.IO.Directory.Exists(temp))
System.IO.Directory.Delete(temp, true);
System.IO.Directory.CreateDirectory(temp);
for(int i=0;i {
string destino = System.IO.Path.Combine(temp, System.IO.Path.GetFileName(arquivos[i]));
System.IO.File.Copy(arquivos[i],destino);
}
using(var stream = System.IO.File.OpenWrite(arquivoDestino))
{
FastZip zip = new FastZip();
zip.CreateZip(stream, temp, true, "", "");
}
System.IO.Directory.Delete(temp,true);
}

Até mais.

Nenhum comentário: