「ひろの」の徒然日記帳 [IT tools, programming, software and more...]

プログラミング、ITツール、人工知能等興味のあることを徒然と書きます。Microsoft好きです

.net Framework4.5によるZIPファイル圧縮

いのひろです。

今日は地元で桜まつりがあり、桜を見ながら(家からですが、、)ご飯を食べました。
家族連れが多かったです。早くうちの子も大きくなったら一緒に行きたいなと
思ったものです。

今回は.net Framework4.5(言語はC#です)による、ZIP形式の
圧縮方法について記載します。
アプリの中でログとかを定期的に圧縮したい時など
外部ライブラリを使う方法もありますが標準でも出来るのでやってみた。という
流れになります。

前準備

  1. Visual Studio 2015 が導入されているWindows環境
  2. System.IO.Compression.FileSystem を参照追加

コードは以下の内容です。

using System.IO.Compression;

string StartPath = this.strAppDir + "data\\";

string ZipPath = this.strAppDir + "error.zip"; // 圧縮ファイル名
if (File.Exists(ZipPath))
{
File.Delete(ZipPath);
}

// 圧縮
ZipFile.CreateFromDirectory(StartPath, ZipPath, CompressionLevel.Optimal, true);

CreateFromDirectory の第一引数が対象のディレクトリ名、第二が
圧縮先のZIPファイル名です。
思ったより簡単でした。