他のコンポーネントと比較する IronXLを使用してC#開発者向けのZipアーカイブのチュートリアル Curtis Chau 更新日:6月 22, 2025 Download IronXL NuGet Download テキストの検索と置換 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article ZipArchiveの紹介 ファイルを圧縮形式で送信することを考えるとき、最初に思い浮かぶのは通常Zip Archiveです。Zipアーカイブは、単一のファイルやコレクション全体を1つのアーカイブに圧縮してまとめるための一般的な形式です。しかし、ファイルのボリュームが大きい場合、1つ1つアーカイブしフォーマットする必要があり、手間がかかることがあります。 しかし、そのようにする必要はありません。 大規模な作業には、自動化をプログラムで行う必要があります。 IronZipというシンプルで直感的なライブラリを使って、それを実現できます。 この記事では、IronZipのコア機能とその機能がどのようにワークフローをより自動化し、効率を向上させ、誤りが発生しがちな手作業を排除できるかについて簡単に説明します。 フォルダまたはファイルから新しいzipファイルを作成する 以下は、複数のファイルを入力し、それらを1つのアーカイブに圧縮し、操作後にエクスポートする例です。 この記事のすべての例は、static void Main()メソッド内にカプセル化されています。重複するコードブロックを避けるためです。 using IronZip; class Program { static void Main(string[] args) { // Create an empty ZIP archive using (var archive = new IronZipArchive()) { // Add files to the ZIP archive archive.Add("./assets/image1.jpg"); archive.Add("./assets/image2.jpg"); archive.Add("./assets/image3.jpg"); // Export the ZIP archive to a file archive.SaveAs("output.zip"); } } } using IronZip; class Program { static void Main(string[] args) { // Create an empty ZIP archive using (var archive = new IronZipArchive()) { // Add files to the ZIP archive archive.Add("./assets/image1.jpg"); archive.Add("./assets/image2.jpg"); archive.Add("./assets/image3.jpg"); // Export the ZIP archive to a file archive.SaveAs("output.zip"); } } } Imports IronZip Friend Class Program Shared Sub Main(ByVal args() As String) ' Create an empty ZIP archive Using archive = New IronZipArchive() ' Add files to the ZIP archive archive.Add("./assets/image1.jpg") archive.Add("./assets/image2.jpg") archive.Add("./assets/image3.jpg") ' Export the ZIP archive to a file archive.SaveAs("output.zip") End Using End Sub End Class $vbLabelText $csharpLabel まず、IronZipをインポートします。 次に、IronZipを使用してアーカイブを作成します。 アーカイブに複数のファイルを追加するためにarchive.Add()を呼び出します。パス名は絶対パスでなければならないことを忘れずに、操作は対応するファイルを見つけられません。 最後に、archive.SaveAs()でzipアーカイブをoutput.zipとしてエクスポートします。 既存のzipファイルを新しいファイルや変更で更新する 別の例を見てみましょう。 今回は、IronZipの機能を紹介するために既存のzipアーカイブを新しいファイルで編集します。 using IronZip; class Program { static void Main(string[] args) { // Open an existing ZIP archive using (var archive = IronZipArchive.FromFile("existing.zip")) { // Add additional files to the existing ZIP archive archive.Add("./assets/image3.png"); archive.Add("./assets/image4.png"); // Export the updated ZIP archive to a new file archive.SaveAs("result.zip"); } } } using IronZip; class Program { static void Main(string[] args) { // Open an existing ZIP archive using (var archive = IronZipArchive.FromFile("existing.zip")) { // Add additional files to the existing ZIP archive archive.Add("./assets/image3.png"); archive.Add("./assets/image4.png"); // Export the updated ZIP archive to a new file archive.SaveAs("result.zip"); } } } Imports IronZip Friend Class Program Shared Sub Main(ByVal args() As String) ' Open an existing ZIP archive Using archive = IronZipArchive.FromFile("existing.zip") ' Add additional files to the existing ZIP archive archive.Add("./assets/image3.png") archive.Add("./assets/image4.png") ' Export the updated ZIP archive to a new file archive.SaveAs("result.zip") End Using End Sub End Class $vbLabelText $csharpLabel まず、IronZipをインポートします。 IronZipを使用してアーカイブを作成しますが、今回はIronZipArchive.FromFile()を使用して既存のzipファイルをインポートします。 希望するファイルをアーカイブに追加するためにarchive.Add()を呼び出します。パス名は絶対パスでなければならないことを忘れずに、操作は既存のファイルを見つけられません。 最後に、archive.SaveAs()で更新されたzipアーカイブをresult.zipとしてエクスポートします。 上記のコードからわかるように、操作と形式はZipファイルを作成しファイルを追加するものと似ています。主な違いは、代わりにzipファイルをインポートすることです。IronZipのシンプルで直感的な機能を示しています。 Zipアーカイブからのファイルの抽出 IronZipを使用して、ZipアーカイブまたはZipパッケージからファイルを抽出することもできます。 これを別の例で確認しましょう。 using IronZip; class Program { static void Main(string[] args) { // Extract the ZIP archive content to a specified directory IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted"); } } using IronZip; class Program { static void Main(string[] args) { // Extract the ZIP archive content to a specified directory IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted"); } } Imports IronZip Friend Class Program Shared Sub Main(ByVal args() As String) ' Extract the ZIP archive content to a specified directory IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted") End Sub End Class $vbLabelText $csharpLabel IronZipをインポートし、IronZipArchive.ExtractArchiveToDirectory()を呼び出します。 このメソッドは、既存のzipアーカイブの内容を指定されたターゲットディレクトリに抽出します。 さらに、パスワードで保護されたzipアーカイブを扱う必要がある場合には、別のメソッドを使用してアーカイブを抽出することができます。 using IronZip; class Program { static void Main(string[] args) { // Extract the protected ZIP archive content to a specified directory IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd"); } } using IronZip; class Program { static void Main(string[] args) { // Extract the protected ZIP archive content to a specified directory IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd"); } } Imports IronZip Friend Class Program Shared Sub Main(ByVal args() As String) ' Extract the protected ZIP archive content to a specified directory IronZipArchive.ExtractArchiveToDirectory("output.zip", "extracted", "P@ssw0rd") End Sub End Class $vbLabelText $csharpLabel 最終的に、別のパラメーターを渡します: 保護されたzipアーカイブ用のパスワードです。操作の残りは上記と同様です。 高度なトピックとベストプラクティス 上記で説明したアーカイブの追加、抽出、作成のコード例は、zipアーカイブを扱う際によくあるものです。 ただし、他の形式の抽出やアーカイブ内容の単純な表示といった高度な利用の場合でも、IronZIPはそのニーズを満たし、さらなる機能を提供します。 IronZIPの高度な機能 クロス互換性: IronZIPは、.NET Core(3.1+)、Standard(2.0+)、.NET Framework(4.6.2+)を含む、さまざまな.NETバージョンと互換性があります。 このライブラリは、Web(Blazor)、モバイル(MAUI)、デスクトップ(WPF)、コンソールでも動作します。 これにより、開発者はプラットフォームおよびバージョンの制約を超えることができます。 アーカイブの生成: ZIP形式を超えて、IronZIPはTAR、GZIP、およびBZIP2アーカイブの作成をサポートしています。 アーカイブの抽出: 上記で示したように、単一のコードブロックを使用してIronZIPでアーカイブを抽出し、ファイルをデコンプレッションします。 ファイルとファイルシステムの追加: IronZIPは、画像、テキストファイル、PDF、DOCX、XLSXのようなドキュメントを追加したり、MP3やWAVのようなオーディオファイルを追加することで、Zipアーカイブの操作を支援します。さらには、全体のファイルシステムや個々のテキストファイルを< strong> ZipArchiveアーカイブ</ strong >に圧縮することもできます。 エクスポートと作成: AES128およびAES256標準でアーカイブにパスワードを設定することができます。 さらに、TAR、GZIP、およびBZIP2形式を生成してエクスポートすることができます。 カスタム圧縮レベル: IronZIPは、開発者が圧縮設定を調整して、アルゴリズムをニーズに合わせることができます。 アーカイブの編集: IronZIPを使用して、アーカイブ内のファイルエントリーを簡単に追加、抽出、削除することで、編集関連の操作に対する包括的なソリューションを提供します。 ファイルエントリープロパティ: IronZIPはオプションでアーカイブコメントを設定し、アーカイブ内のファイル名を抽出せずに取得する機能を提供し、それぞれのファイルに特定のコメントをつけられるようにします。 ライセンスの選択肢: IronZIPは、開発者が要求に最適なものを選択するための、ライセンスの選択肢を提供しており、無料トライアルバージョンも含まれています。 結論 圧縮ファイルやアーカイブを扱うことは、開発者が頻繁に直面する日々のタスクですが、それらの大量の管理はストレスがかかり、人的エラーを起こしがちです。 System.IO.Compressionのようなオプションがあるにも関わらず、IronZIPを使用することで、圧縮アーカイブを扱った場合に問題をより早く解決し、多くのことを達成できます。 この記事では、IronZIPの高度な機能と、zipアーカイブの作成、エントリの削除、ファイルの追加といった一般的な操作について説明しました。 IronZIPを使用してこれらのタスクをプログラムで実行する方法を理解することで、アーカイブの処理の効率性、スケーラビリティ、自動化が向上します。 ご注意System.IO.Compressionは、その各権利者の登録商標です。 このサイトは、System.IO.Compressionと提携していないし、System.IO.Compressionによって承認、支援を受けていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。 よくある質問 C#でフォルダーからZIPファイルを作成するにはどうすればいいですか? C#でフォルダーからZIPファイルを作成するには、IronZipライブラリを使用します。まず、IronZipライブラリをインポートし、IronZipArchiveのインスタンスを作成し、archive.AddFolder()を使用してフォルダーを追加し、archive.SaveAs()で保存します。 C#でZIPアーカイブからデータを抽出するプロセスは何ですか? C#でZIPアーカイブからデータを抽出するには、IronZipを使用してIronZipArchive.ExtractArchiveToDirectory()メソッドを呼び出します。このメソッドでは、コンテンツが抽出されるディレクトリを指定できます。 C#でプログラム的にZIPアーカイブの内容を更新するにはどうすればよいですか? C#でプログラム的にZIPアーカイブの内容を更新するには、IronZipを使用して既存のアーカイブをIronZipArchive.FromFile()で読み込み、archive.Add()でファイルを追加し、またはarchive.Remove()でファイルを削除して、archive.SaveAs()で変更を保存します。 IronZipはパスワード保護されたZIPファイルを扱えますか? はい、IronZipはパスワード保護されたZIPファイルを扱えます。ファイルを抽出する際に、IronZipArchive.ExtractArchiveToDirectory()メソッドで追加のパラメーターとしてパスワードを指定することができます。 ZIPファイル操作に関して、IronZipを使用することの利点はSystem.IO.Compressionと比べて何ですか? IronZipは、複数のアーカイブ形式のサポート、パスワード保護、カスタム圧縮レベル、ファイルの抽出なしにアーカイブを編集する機能など、System.IO.Compressionよりも高度な機能を提供します。 IronZipは異なる.NETバージョンに対してどのようにクロス互換性を確保しますか? IronZipは、複数の.NETバージョンをサポートすることで、さまざまなプラットフォームやフレームワークで実行されるアプリケーションにZIPファイル操作機能を統合できるようにして、クロス互換性を確保しています。 ZIPアーカイブを扱う上でIronZipが提供する高度な機能は何ですか? {"1":"IronZip\u306f\u3001\u8907\u6570\u306e\u30a2\u30fc\u30ab\u30a4\u30d6\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\uff08ZIP\u3001TAR\u3001GZIP\u3001BZIP2\uff09\u306e\u751f\u6210\u3068\u62bd\u51fa\u3001\u30d1\u30b9\u30ef\u30fc\u30c9\u4fdd\u8b77\u3001\u30ab\u30b9\u30bf\u30e0\u5727\u7e2e\u30ec\u30d9\u30eb\u3001\u30d5\u30a1\u30a4\u30eb\u3092\u62bd\u51fa\u305b\u305a\u306b\u7de8\u96c6\u6a5f\u80fd\u3092\u5305\u62ec\u7684\u306b\u63d0\u4f9b\u3059\u308b\u9ad8\u5ea6\u306a\u6a5f\u80fd\u3092\u63d0\u4f9b\u3057\u307e\u3059\u3002<\/S>"} IronZipを使用してZIPアーカイブ内のファイルのプロパティを管理することは可能ですか? はい、IronZipはファイルの抽出を必要とせずに、ZIPアーカイブ内のコメントなどのファイルのプロパティを管理できます。これにより、アーカイブ管理の柔軟性と効率性が向上します。 C#でZIPファイルの作成と抽出を自動化する方法は何ですか? IronZipを用いてC#でstatic void Main()メソッド内でZIPファイルの作成と抽出を自動化することができます。これにより、アーカイブへのファイル追加、データ抽出、既存アーカイブのプログラム的な更新などのプロセスを自動化できます。 IronZipは、ファイルシステム全体の処理に対応していますか? はい、IronZipはファイルシステム全体を圧縮および抽出することをサポートしており、大量のデータを効率的に処理するのに適しています。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 7月 28, 2025 3つのオープンソースC# Excelライブラリの比較 この記事では、.NET環境でのExcelファイル操作を簡素化するために設計された3つのC#オープンソースExcelライブラリを探ります。 詳しく読む 更新日 8月 4, 2025 EPPlusでExcelをDataTableに読み込むC#(IronXLチュートリアル) EPPlus は C# で Excel ファイルを作成および操作するための強力なオープンソースライブラリです。それは開発者が Excel スプレッドシートをプログラム的に生成、読み込み、修正することを可能にするシンプルで直感的な API を提供します。 詳しく読む 更新日 7月 28, 2025 IronXLとFastExcelの.NETでの比較 この記事では、IronXLとFastExcel v4を比較し、それぞれのライブラリの長所と短所を強調し、C#での使用例を提供します。 詳しく読む IronXLとGemBox.Spreadsheetの比較EPPlusでExcelをDataTableに読み...
更新日 7月 28, 2025 3つのオープンソースC# Excelライブラリの比較 この記事では、.NET環境でのExcelファイル操作を簡素化するために設計された3つのC#オープンソースExcelライブラリを探ります。 詳しく読む
更新日 8月 4, 2025 EPPlusでExcelをDataTableに読み込むC#(IronXLチュートリアル) EPPlus は C# で Excel ファイルを作成および操作するための強力なオープンソースライブラリです。それは開発者が Excel スプレッドシートをプログラム的に生成、読み込み、修正することを可能にするシンプルで直感的な API を提供します。 詳しく読む
更新日 7月 28, 2025 IronXLとFastExcelの.NETでの比較 この記事では、IronXLとFastExcel v4を比較し、それぞれのライブラリの長所と短所を強調し、C#での使用例を提供します。 詳しく読む