c# file class that can be added to zip archive.

I have a console application that creates several text files on disk, then adds them to a zip file.

What I would like to do is:
1. create the files as "virtual" files, ie create a class for each file with name and contents
2. write these class files to a zip archive.

Any thoughts appreciated.
Who is Participating?
käµfm³d 👽Connect With a Mentor Commented:
Ah. Here's an example using DotNetZip (which you can install using NuGet).

using System.Text;
using Ionic.Zip;

namespace ConsoleApplication42
    class Program
        static void Main(string[] args)
            TheClass instance = new TheClass() { Name = "example.txt", Content = "Hello World!" };
            ZipFile zip = new ZipFile("example.zip");
            byte[] data = Encoding.ASCII.GetBytes(instance.Content);

            zip.AddEntry(instance.Name, data);

    public class TheClass
        public string Name { get; set; }
        public string Content { get; set; }

Open in new window

käµfm³d 👽Commented:
So you want to serialize instances of this class to a file? Can you expand your explanation a tad?
dhenderson12Author Commented:
hey, kaufmed, thanks for the reply.

I was thinking that I don't really need a physical file on disk if I can create a class with a name property and a content property (the other file properties are not useful to me).  I could create this class instead of a physical file, and then add it to a zip archive as if it was a physical
file.  I'm just not sure how to go about it.

If I create the  physical file then I would need to delete it after it is added to the zip archive.
dhenderson12Author Commented:
kaufmed, you rock!  This works perfectly and is just what I was looking for.  Thanks for help.
All Courses

From novice to tech pro — start learning today.