C# ile Dosya Sıkıştırma ve Çözümleme işlemi .Compress,DeCompress

by Yasin Kızılbakır 4. Kasım 2011 00:10

Merhaba arkadaşlar bu makalemde sizlere Dosya sıkıştırma ve çözümleme işlemini anlatacağım.Uygulama görüntüsü ekrandadır.

uygulamamızda 2 adet button ve OpenFileDialog ve SaveFile Dialog atıyoruz .Dosya seçme ve kaydetme işlemi için.Şimdi kod bloğumuza geçelim.

 

Ziple Buttonunu altındaki kodlar .

 

Openfiledioalog.ShowDialog();
            Savefiledialog.ShowDialog();
            //Dosyayı seçiyoruz açıyoruz şıkıştırma işlemini yapıyoruz ve sonrasında kayded

            FileStream OputPutFileStreamZip = new FileStream(Savefiledialog.FileName, FileMode.Create);

            GZipStream zipStream = new GZipStream(OputPutFileStreamZip, CompressionMode.Compress, true);

            FileStream InputFileStreamRead = new FileStream(Openfiledioalog.FileName, FileMode.Open);

            byte[] buffer = new byte[InputFileStreamRead.Length];

            int count = InputFileStreamRead.Read(buffer, 0, buffer.Length);

            InputFileStreamRead.Close();

            zipStream.Write(buffer, 0, buffer.Length);

            zipStream.Close();

            OputPutFileStreamZip.Close();
Şimdi Çözümle Buttonunun altındaki kodları yapıştırıyoruz.
 
Openfiledioalog.ShowDialog();
            //Open File dialog ile dosyamızı seçiyoruz.

            Savefiledialog.ShowDialog();

            FileStream InputFileStream = new FileStream(Openfiledioalog.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);
            //File Stream ile Doyamızı Açıyoruz sonrasında Okuyoruzç

            GZipStream GZipStreamziple = new GZipStream(InputFileStream, CompressionMode.Decompress);
            //gZip Stream ile Dosyamızı ,Decompress ediyoruz yani çözümlüyoruz.

            int offset = 0;

            int totalBytes = 0;

            byte[] smallBuffer = new byte[100];

            while (true)
            {

                int bytesRead = GZipStreamziple.Read(smallBuffer, 0, 100);

                if (bytesRead == 0)
                {

                    break;

                }

                offset += bytesRead;

                totalBytes += bytesRead;

            }

            GZipStreamziple.Close();

            InputFileStream = new FileStream(Openfiledioalog.FileName, FileMode.Open, FileAccess.Read, FileShare.Read);

            GZipStreamziple = new GZipStream(InputFileStream, CompressionMode.Decompress);

            byte[] buffer = new byte[totalBytes];

            GZipStreamziple.Read(buffer, 0, totalBytes);

            FileStream OputPutFileStreamZip = new FileStream(Savefiledialog.FileName, FileMode.CreateNew);

            OputPutFileStreamZip.Write(buffer, 0, buffer.Length);
            OputPutFileStreamZip.Close();
            GZipStreamziple.Close();
            InputFileStream.Close();

Bu makaleninde sonunda geldik.Birdahaki makalede görüşmek üzere.

Tags: , , ,

C# /.Net

Yorum ekle

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading

Yasin Kızılbakır

Takip Et
İletişim

Arşiv

Takvim

<<  Mayıs 2012  >>
PaSaÇaPeCuCuPa
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

FaceBook Sayfam