Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 GZIP 형식을 사용하여 파일 압축 및 압축 해제

<시간/>

GZIP 형식을 사용하여 파일을 압축 및 압축 해제하려면 GZipStream 클래스를 사용하십시오.

압축

파일을 압축하려면 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;
   }
}