ホームページ >バックエンド開発 >C#.Net チュートリアル >C# で GZIP 形式を使用してファイルを圧縮および解凍する

C# で GZIP 形式を使用してファイルを圧縮および解凍する

WBOY
WBOY転載
2023-09-01 14:53:071055ブラウズ

在 C# 中使用 GZIP 格式压缩和解压缩文件

GZIP 形式を使用してファイルを圧縮および解凍するには、GZipStream クラスを使用します。

圧縮

ファイルを圧縮するには、GZipStream クラスと FileStream クラスを使用します。以下のパラメータを設定します。

圧縮するファイルと出力 zip ファイルの名前。

ここで、outputFile は、FileStream に読み込まれる出力ファイルです。

p>

Example

using(var compress = new GZipStream(outputFile, CompressionMode.Compress, false)) {
   byte[] b = new byte[inFile.Length];
   int read = inFile.Read(b, 0, b.Length);
   while (read > 0) {
      compress.Write(b, 0, read);
      read = inFile.Read(b, 0, b.Length);
   }
}

Decompression

ファイルを解凍するには、同じ GZipStream クラスを使用します。次のパラメータを設定します: ソース ファイルと出力ファイルの名前。

ソース zip ファイルから GZipStream を開きます。

using (var zip = new GZipStream(inStream, CompressionMode.Decompress, true))

解凍するには、ループを使用してストリームからデータを読み取ります。それを出力ストリームに書き込み、ファイルを生成します。このファイルは解凍したファイルです。

using(var zip = new GZipStream(inputStream, CompressionMode.Decompress, true)) {
   byte[] b = new byte[inputStream.Length];
   while (true) {
      int count = zip.Read(b, 0, b.Length);
      if (count != 0)
      outputStream.Write(b, 0, count);
      if (count != b.Length)
      break;
   }
}

以上がC# で GZIP 形式を使用してファイルを圧縮および解凍するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。