Heim  >  Artikel  >  Backend-Entwicklung  >  Komprimieren und dekomprimieren Sie Dateien im GZIP-Format in C#

Komprimieren und dekomprimieren Sie Dateien im GZIP-Format in C#

WBOY
WBOYnach vorne
2023-09-01 14:53:07956Durchsuche

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

Um Dateien im GZIP-Format zu komprimieren und zu dekomprimieren, verwenden Sie die GZipStream-Klasse.

Komprimierung

Um Dateien zu komprimieren, verwenden Sie die GZipStream-Klasse und die FileStream-Klasse. Stellen Sie die folgenden Parameter ein.

Die zu komprimierende Datei und der Name der ZIP-Ausgabedatei.

Hier ist „outputFile“ die Ausgabedatei, die in FileStream eingelesen wird.

p>

Beispiel

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);
   }
}

Dekomprimierung

Um eine Datei zu dekomprimieren, verwenden Sie dieselbe GZipStream-Klasse. Legen Sie die folgenden Parameter fest: die Namen der Quell- und Ausgabedateien.

Öffnen Sie GZipStream aus der Quell-Zip-Datei.

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

Um zu dekomprimieren, verwenden Sie eine Schleife und lesen Sie die Daten aus dem Stream. Schreiben Sie es in den Ausgabestream und generieren Sie eine Datei. Diese Datei ist die Datei, die wir dekomprimiert haben.

Beispiel

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;
   }
}

Das obige ist der detaillierte Inhalt vonKomprimieren und dekomprimieren Sie Dateien im GZIP-Format in C#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen