5 Aralık 2016 Pazartesi

GZipStream Sınıfı

Giriş
Şu satırı dahil ederiz.
using System.IO.Compression;
GZipStream Java'dakinin tersine hem sıkıştırma hem de açma için kullanılır. Java'da ayrı ayrı GZIPInputStream ve GZIPOutputStream sınıfları var.

Constructor - Compression
Dosyayı sıkıştırmak için şöyle yaparız.
using (FileStream in = ...)
using (FileStream out = File.Create ("abc.gz"))
using (GZipStream gzipStream = new GZipStream(out,CompressionMode.Compress))
{
  in.CopyTo (gzipStream);
}
Sıkıştırmak seviyesini vermek için şöyle yaparız.
Stream out = ...;
var gzipStream = new GZipStream(out, CompressionLevel.Optimal);
Constructor - Decompression
Sıkıştırılmış dosyayı açmak için şöyle yaparız.
using (FileStream in = ...)
using (FileStream out = File.Create("abc.txt"))
using (GZipStream gzipStream = new GZipStream(in, CompressionMode.Decompress))
{
  gzipStream.CopyTo (out);
}
CopyTo metodu
Şöyle yaparız.
using (FileStream out = ...)
using (GZipStream gzipStream = new GZipStream(in, CompressionMode.Decompress))
{
  gzipStream.CopyTo (out);
}
Read metodu
Şöyle yaparız.
using (Stream in = ...)
{
  int msgLength = ...;
  byte[] buffer = new byte[msgLength];

  using (GZipStream gzipStream = new GZipStream(in, CompressionMode.Decompress))
  {
    gzipStream.Read(buffer, 0, buffer.Length);
  }
}


Hiç yorum yok:

Yorum Gönder