Maison  >  Article  >  développement back-end  >  Compresser et décompresser des fichiers au format GZIP en C#

Compresser et décompresser des fichiers au format GZIP en C#

WBOY
WBOYavant
2023-09-01 14:53:07956parcourir

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

Pour compresser et décompresser des fichiers au format GZIP, utilisez la classe GZipStream.

Compression

Pour compresser des fichiers, utilisez la classe GZipStream et la classe FileStream. Définissez les paramètres suivants.

Le fichier à compresser et le nom du fichier zip de sortie.

Ici, outputFile est le fichier de sortie, qui est lu dans FileStream.

p>

Exemple

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

Décompression

Pour décompresser un fichier, utilisez la même classe GZipStream. Définissez les paramètres suivants : les noms des fichiers source et de sortie.

À partir du fichier zip source, ouvrez GZipStream.

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

Pour décompresser, utilisez une boucle et lisez les données du flux. Écrivez-le dans le flux de sortie et générez un fichier. Ce fichier est le fichier que nous avons décompressé.

Exemple

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer