
IronXLを使用してC#開発者向けのZipアーカイブのチュートリアル
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");
}
}
}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- まずはIronZIPをインポートします。
- 次に、IronZIPを使用してアーカイブを作成します。
- アーカイブに複数のファイルを追加するために
archive.Add()を呼び出します。パス名は絶対パスである必要があることを忘れないでください。さもなければ、操作が対応するファイルを見つけられません。 - 最後に、
archive.SaveAs()を呼び出して、zipアーカイブをoutput.zipとしてエクスポートします。
既存のzipファイルを新しいファイルや変更で更新する
別の例を見てみましょう。 この時間、既存のzipアーカイブを新しいファイルで編集し、IronZIPの機能を披露します。
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- まずはIronZIPをインポートします。
- IronZIP を使用してアーカイブを作成しますが、今回は
IronZipArchive.FromFile()を使用して既存のzipファイルをインポートします。 - 目的のファイルをアーカイブに追加するために
archive.Add()を呼び出します。パス名は絶対パスである必要があることを忘れないでください。さもなければ、操作が既存のファイルを見つけられません。 - 最後に、
archive.SaveAs()を呼び出して、更新されたzipアーカイブをresult.zipとしてエクスポートします。
上記のコードからわかるように、操作と形式はZipファイルを作成し、ファイルを追加するために使用されるものと似ています。主な違いは、zipファイルをインポートすることです。IronZIPのシンプルかつ直感的な機能を示しています。
Zipアーカイブからのファイルの抽出
ZipアーカイブまたはZipパッケージからファイルを抽出するためにIronZIPを使用することもできます。 これを別の例で確認しましょう。
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 ClassIronZIP をインポートし、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");
}
}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最終的に、別のパラメーターを渡します: 保護されたzipアーカイブ用のパスワードです。操作の残りは上記と同様です。
高度なトピックとベストプラクティス
上記で説明したアーカイブの追加、抽出、作成のコード例は、zipアーカイブを扱う際によくあるものです。 ただし、他の形式の抽出やアーカイブ内容の単純な表示といった高度な利用の場合でも、IronZIPはそのニーズを満たし、さらなる機能を提供します。
IronZIPの高度な機能
*クロス互換性: IronZIPは、 .NET Core (3.1以降)、Standard (2.0以降)、. .NET Framework (4.6.2以降)など、幅広い.NETバージョンと互換性があります。 このライブラリは、Web(Blazor)、モバイル(MAUI)、デスクトップ(WPF)、コンソールでも動作します。 これにより、開発者はプラットフォームおよびバージョンの制約を超えることができます。
*アーカイブの生成: IronZIPはZIP形式に加えて、TAR、GZIP、およびBZIP2アーカイブの作成をサポートしています。
***アーカイブの抽出:**上記のように、単一のコードブロックを使用してIronZIPでアーカイブを抽出し、ファイルを簡単に解凍できます。
*ファイルとファイルシステムの追加: IronZIP は、画像、テキストファイル、ドキュメント (PDF、DOCX、XLSX など)、および MP3 や WAV などのオーディオファイルを追加することで、ZIP アーカイブの操作を支援します。ファイルシステム全体または個々のテキストファイルをZipArchive アーカイブに圧縮することもできます。
*エクスポートと作成: AES128およびAES256規格を使用して、アーカイブにパスワード保護を設定できます。 さらに、TAR、GZIP、およびBZIP2形式を生成してエクスポートすることができます。
*カスタム圧縮レベル: IronZIPでは、開発者が圧縮設定を調整して、ニーズに合わせてアルゴリズムを微調整できます。
*アーカイブの編集: IronZIPは、編集関連操作のための包括的なソリューションとして、アーカイブ内のファイルエントリを簡単に追加、抽出、または削除できます。
*ファイルエントリのプロパティ: IronZIP は、アーカイブにオプションのコメントを設定したり、アーカイブを解凍せずにアーカイブ内のファイル名を取得したりする機能を提供し、各ファイルに特定のコメントを残すのに役立ちます。
*ライセンスの選択肢: IronZIPは、無料の試用版を含む柔軟なライセンスオプションを提供しており、開発者は自身の要件に最適なものを選択できます。
結論
圧縮ファイルやアーカイブを扱うことは、開発者が頻繁に直面する日々のタスクですが、それらの大量の管理はストレスがかかり、人的エラーを起こしがちです。 System.IO.Compressionのようなオプションがあるにも関わらず、IronZIPを使用することで、圧縮アーカイブを扱った場合に問題をより早く解決し、多くのことを達成できます。 この記事では、IronZIPの高度な機能と、zipアーカイブの作成、エントリの削除、ファイルの追加といった一般的な操作について説明しました。 IronZIPを使用してこれらのタスクをプログラムで実行する方法を理解することで、アーカイブの処理の効率性、スケーラビリティ、自動化が向上します。

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。
関連する記事



