C# DotNetZipで圧縮化を行う

  • 作成日 2021.09.28
  • 更新日 2022.04.09
  • C#
C# DotNetZipで圧縮化を行う

C#で、CSVファイルを読み込んで表示するサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • .net core 3.1
  • Microsoft Visual Studio Community 2019 Version 16.7.1

DotNetZipで圧縮化を行う

DotNetZipで圧縮化を行うには、まずはnugetで入手します。

Install-Package DotNetZip

以下は、DotNetZipで用意したファイルとフォルダを圧縮するだけのコードとなります。

圧縮対象

サンプルコード

using System;
using System.IO;
using Ionic.Zip;
using Ionic.Zlib;
using System.Text;


namespace testapp
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                using (var zip = new ZipFile(Encoding.GetEncoding("utf-8")))
                {
                    // 圧縮レベル
                    // None(圧縮なし)
                    // BestSpeed(速度最優先)
                    // Default(速度と圧縮率のバランス)
                    // BestCompression(圧縮率最優先)
                    // Level0-9(圧縮なし-圧縮率最優先)
                    zip.CompressionLevel = CompressionLevel.BestCompression;

                    // 圧縮したいファイルを追加
                    zip.AddFile(@"C:\zip\テスト.txt");
                    // 圧縮したいフォルダを追加
                    zip.AddDirectory(@"C:\zip\テスト");

                    // 圧縮
                    zip.Save(@"C:\zip\圧縮.zip");
                }
            }
            catch (FileNotFoundException e)
            {
                System.Console.WriteLine("ファイルが存在しません" + e);
            }
            catch (DirectoryNotFoundException e)
            {
                System.Console.WriteLine("フォルダが存在しません" + e);
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e.ToString());
            }
        }
    }
}

実行結果