By ZUIFU Blogger 2013年6月7日 Leave a Comment

zip

いくつか方法があるが、今回は DotNetZip というライブラリを使用する方法とする。

◆準備

以下のサイトから DotNetZip をダウンロード。
http://dotnetzip.codeplex.com/

解凍し、zip-v1.9 の Release から Ionic.Zip.dll を取得し、参照に追加する

◆圧縮コードサンプル

public static void Compress(string fromDir, string compressFile)
{
    //日本語ファイル名を扱うため、Shift-JISを指定する
    using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile(Encoding.GetEncoding("Shift_JIS")))
    {
        //圧縮レベルを設定
        zip.CompressionLevel = Ionic.Zlib.CompressionLevel.BestCompression;

        //圧縮するディレクトリを指定する
        zip.AddDirectory(fromDir);

        //ZIPファイルを保存
        zip.Save(compressFile);
    }
}

こんな感じ。

圧縮レベルは、

  • None(圧縮なし)
  • BestSpeed(速度最優先)
  • Default(速度と圧縮率のバランス)
  • BestCompression(圧縮率最優先)
  • Level0-9(圧縮なし-圧縮率最優先)

が指定できるとのこと。

[参照]

C#でZIPファイルを扱えるDotNetZip (1) .NETで書庫を作成、圧縮 | マイナビニュース




Leave a Reply

(required)

(required)