C#에서 System.IO.Compression 네임스페이스를 사용하여 C#에서 파일을 압축 및 압축 해제합니다.
압축
파일을 압축하려면 FileStream 클래스와 함께 GZipStream 클래스를 사용하십시오. 다음 매개변수를 설정합니다. 압축할 파일 및 출력 압축 파일 이름.
여기서 outputFile은 출력 파일이고 파일을 FileStream으로 읽어들입니다.
예
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); } }
압축 해제
파일 압축을 풀려면 동일한 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; } }