- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Compressing and Decompressing files using GZIP Format in C#
To compress and decompress files using GZIP Format, use the GZipStream class.
Compress
To zip a file, use the GZipStream class with the FileStream class. Set the following parameters.
File to be zipped and the name of the output zip file.
Here, outputFile is the output file and the file is read into the FileStream.
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); } }
Decompress
To decompress a file, use the same the GZipStream class. Set the following parameters: source file and the name of the output file.
From the source zip file, open a GZipStream.
using (var zip = new GZipStream(inStream, CompressionMode.Decompress, true))
To decompress, use a loop and read as long as you have data in the stream. Write it to the output stream and a file generates. The file is our decompressed file.
Example
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; } }
Advertisements