今回の記事はC#でファイル・ディレクトリをzip化する方法に関しての記事です。初心者にも分かりやすいように記載しますので是非参考にしてみてください。
C#でディレクトリのzip化
ディレクトリのzip化は簡単です。
using System;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Net.Http;
using System.Text;
using AngleSharp.Html.Parser;
namespace test
{
class Program
{
static void Main(string[] args)
{
ZipFile.CreateFromDirectory(
"指定のディレクトリ",
"zipファイル名.zip",
CompressionLevel.Optimal,
false,
Encoding.UTF8);
}
}
}
上記のコードでディレクトリのzip化は完了です。
次はファイル単体をzip化する方法に関して記載します。
C#でファイルのzip化
まずはファイルを保存する為の手順に関してです。
上記のディレクトリのZip化ではファイルではなくディレクトリ自体をzipにしてしまうので下記手順が必要です。
①指定のフォルダから指定のファイルを取得
②ディレクトリを作成
③そのディレクトリに指定のファイルをコピーする(または移動させる)
④そのディレクトリをzip化する
⑤作成したディレクトリは消す(そのままでいい場合は消さなくてOK)
では実際に確認していきましょう。
using System;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Net.Http;
using System.Text;
using AngleSharp.Html.Parser;
namespace test
{
class Program
{
static void Main(string[] args)
{
//一時保存用のディレクトリ作成
Directory.CreateDirectory("指定のパス");
//一時保存用フォルダにファイルコピー
File.Copy("取得したファイルパス", $"コピー先ディレクトリパス";
//一時保存用のフォルダZip化
ZipFile.CreateFromDirectory(
"指定のディレクトリ",
"zipファイル名.zip",
CompressionLevel.Optimal,
false,
Encoding.UTF8);
//一時保存用のフォルダを削除する
Directory.Delete("指定のパス", true);
}
}
}
ファイルコピーなどのメソッドに関しては別途記事を記載しているのでそちらも参考にしてみてください。
では今回の記事は以上です。他にも多数のC#関連の記事を記載しているので是非そちらも参考にしてみてください。
コメント