スポンサーリンク

【C#】ディレクトリ・ファイルのzip化を行う方法ご紹介。

C#
スポンサーリンク

今回の記事は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#関連の記事を記載しているので是非そちらも参考にしてみてください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

C#
スポンサーリンク
スポンサーリンク
ともぶろぐ

コメント

タイトルとURLをコピーしました