Search code examples
c#zip.net-assemblyarchive

Add multiples file into a zip file using c#


I want to add multiple files into a zip files but when I run my code. I got a error. I got 2 errors in Archive() and ArchiveSaveOptions() methods.

Error CS0246 The type or namespace name 'Archive' could not be found (are you missing a using directive or an assembly reference? ConvertMultipleFilesIntoZip C:\Users\sanjeev_kushvaha\source\repos\ConvertMultipleFilesIntoZip\ConvertMultipleFilesIntoZip\Program.cs

using System;
using System.IO;
using System.Text;

namespace ConvertMultipleFilesIntoZip
{
    internal class Program
    {   
        static void Main(string[] args)
        {
            
            using (FileStream zipFile = File.Open("compressed_files.zip", FileMode.Create))
            {
                // File to be added to archive
                using (FileStream source1 = File.Open("alice29.txt", FileMode.Open, FileAccess.Read))
                {
                    // File to be added to archive
                    using (FileStream source2 = File.Open("asyoulike.txt", FileMode.Open, FileAccess.Read))
                    {
                        using (var archive = new Archive())
                        {
                            // Add files to the archive
                            archive.CreateEntry("alice29.txt", source1);
                            archive.CreateEntry("asyoulik3.txt", source2);
                            // ZIP the files
                            archive.Save(zipFile, new ArchiveSaveOptions() { Encoding = Encoding.ASCII, ArchiveComment = "two files are compressed in this archive" });
                        }
                    }
                }
            }

        }

        
    }
}



Solution

  • you can use ZipArchive Class to create zip file include asyoulik3.txt and alice29.txt :

    using System;
    using System.IO;
    using System.Text;
    using System.IO.Compression;
    
    namespace ConvertMultipleFilesIntoZip
    {
        internal class Program
        {   
            static void Main(string[] args)
           {
                using (ZipArchive archive = ZipFile.Open("compressed_files.zip", ZipArchiveMode.Create))
                {
    
                    archive.CreateEntryFromFile("asyoulik3.txt", "asyoulik3.txt");
                    archive.CreateEntryFromFile("alice29.txt", "alice29.txt");
                }
            }
        }
    }