ReviewProxy/Lib/ZipArchiver.cs
2025-02-23 15:10:13 +09:00

32 lines
811 B
C#

using System.IO.Compression;
namespace ReviewProxy.Lib;
public class ZipArchiver : IDisposable
{
private FileStream fileStream;
private ZipArchive archive;
private DirectoryInfo dirInfo;
public ZipArchiver(string outputFilePath, string inputDirectoryPath)
{
this.fileStream = new FileStream(outputFilePath, FileMode.CreateNew);
this.archive = new ZipArchive(this.fileStream, ZipArchiveMode.Create);
this.dirInfo = new DirectoryInfo(inputDirectoryPath);
}
public void Dispose()
{
this.archive.Dispose();
this.fileStream.Dispose();
}
public void Compress()
{
foreach (FileInfo file in this.dirInfo.EnumerateFiles())
{
this.archive.CreateEntryFromFile(file.FullName, file.Name);
}
}
}