C# でネイティブに ZIP ファイルを使用する
ファイル圧縮の分野では、ZIP アーカイブが最高の地位を占めています。ただし、サードパーティのライブラリに依存すると、面倒になったり、依存関係の問題が発生したりする場合があります。幸いなことに、C# は、外部依存関係を必要とせずに ZIP 操作のネイティブ機能を提供します。
ZIP アーカイブの作成
.NET Framework 4.5 を使用して ZIP アーカイブを作成するには、 ZipArchive クラスと ZipFile クラスを利用します。例:
using (ZipArchive zip = ZipFile.Open("test.zip", ZipArchiveMode.Create)) { zip.CreateEntryFromFile(@"c:\something.txt", "data/path/something.txt"); }
System.IO.Compression および System.IO.Compression.FileSystem 名前空間への参照を必ず含めてください。
net46 をターゲットとする .NET Core の場合は、次の依存関係を明示的に追加します。 project.json ファイル内の次のパッケージ:
"dependencies": { "System.IO.Compression": "4.1.0", "System.IO.Compression.ZipFile": "4.0.1" },
.NET Core 2.0 および上記では、次の using ステートメントを追加するだけで、必要なクラスにアクセスできます。
using System.IO.Compression;
ドキュメントのコレクションの圧縮
複数のドキュメントを 1 つのファイルにまとめてダウンロードするというユーザー要件に対処するには単一のリクエストでは、必要なすべてのファイルを含む ZIP アーカイブを作成することが最も適切な解決策です。これは、前に説明したのと同じ原理を使用して実現できます。ドキュメントのコレクションをループすることで、ドキュメントを ZIP アーカイブに繰り返し追加し、ダウンロード可能な 1 つのファイルに効果的に圧縮できます。
以上がC# で ZIP ファイルをネイティブに作成および管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。