Este artigo rápido contém informações sobre como compactar a pasta em C#. Ele fornece etapas detalhadas a serem executadas ao escrever uma ferramenta para criar um arquivo ZIP para uma pasta. Algumas linhas de código na pasta zip C# e arquivos em todas as suas subpastas sem instalar nenhuma ferramenta de terceiros.
Etapas para compactar a pasta em C#
- Adicione Aspose.ZIP do gerenciador de pacotes NuGet para compactar a pasta
- Instanciar um objeto de classe FileStream com o nome do arquivo ZIP de saída
- Instanciar um objeto de arquivo ZIP Archive
- Crie entradas no arquivo, fornecendo o nome da pasta de destino
- Salve o arquivo para criar um arquivo ZIP contendo todos os arquivos e subpastas
Essas etapas descrevem o processo em detalhes, primeiro fornecendo a configuração do ambiente e, em seguida, apresentando todas as principais classes necessárias para criar um arquivo ZIP para uma pasta. Para zip folder C# as etapas de codificação são fornecidas posteriormente para o entendimento completo.
Código para Zip Folder em C#
using System.IO; | |
using Aspose.Zip; | |
namespace ZipFolderInCSharp | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to zip a complete folder in CSharp | |
{ | |
// Create and instantiate a license to zip as many files as required | |
// instead of 8 files only in the absence of the license | |
Aspose.Zip.License licZipFolder= new Aspose.Zip.License(); | |
licZipFolder.SetLicense("Aspose.Zip.lic"); | |
// Create a file stream object by providing the output zip file name | |
using (FileStream ZippedFolder = File.Open("AnimationImages.zip", FileMode.Create)) | |
{ | |
// Create a Zip archive file class object | |
using (Archive archiveFile = new Archive()) | |
{ | |
// Add all the files and folders recursively | |
archiveFile.CreateEntries("AnimationImages"); | |
// Save the output ZIP file | |
archiveFile.Save(ZippedFolder); | |
} | |
} | |
System.Console.WriteLine("Done"); | |
} | |
} | |
} |
Essas linhas de código em C# criam um arquivo ZIP da pasta. Existem algumas variações possíveis para realizar a tarefa, por exemplo, em vez de fornecer o nome da pasta de destino, você pode fornecer o objeto de classe DirectoryInfo como fonte dos arquivos para o arquivo ZIP de saída. Da mesma forma, você também pode definir um sinalizador para incluir a pasta raiz no arquivo ZIP de saída.
Este tutorial nos guiou para compactar uma pasta completa. Se você estiver interessado em aprender o processo inverso, ou seja, extrair o arquivo ZIP, consulte o artigo em como extrair arquivo ZIP em c#.