SORU
7 Mayıs 2009, PERŞEMBE


Program kullanarak dosyaları sıkıştırır .net

Programlama yoluyla sıkıştırılmış bir dosya açmak için çalışıyorum.

System.IO.Compression.GZipStream Bu sınıfı kullanarak denedim .NET, ama uygulamam çalıştığında (aslında birim testi) bu özel durum alıyorum:

Sistem.IO.İnvalidDataException: GZip başlığında sihirli sayı doğru değil. GZip bir akış.. geçen olduğunuzdan emin olun

Ben şimdi .zip dosya .gz dosyası olarak aynı değildir, ve GZip Zip aynı olmadığını fark ettim.

Ancak, bu mümkün ayıklamak için dosyayı elle çift tıklayarak sıkıştırılmış dosya, ve sonra klik "tüm dosyaları Ayıkla"düğmesi, bence olması lazım bir şekilde yapıyor bu kod.

Bu nedenle giriş olarak sıkıştırılmış dosya yolu ile Process.Start() kullanmaya çalıştım. Bu benim uygulama bir Pencere sıkıştırılmış dosya içeriğini gösteren açmasına neden olur. Hepsi iyi, ama uygulamayı tıklatın için etrafında kimse bir sunucuda yüklü olacak "tüm dosyaları Ayıkla"düğmesi.

Nasıl benim app sıkıştırılmış dosyaları ayıklamak için alabilirim?

Ya orada bunu yapmak için başka bir yol var mı? Kod yapmayı tercih ederim, kütüphaneler ya da herhangi bir üçüncü parti uygulamaları indirirken; güvenlik departmanı bu konuda çok lüks değil...

CEVAP
31 Ocak 2013, PERŞEMBE


İle.NET 4.5şimdi dosyaları kullanarak dosyaları sıkıştırabilir .NET çerçeve

using System;
using System.IO;

namespace ConsoleApplication
{
  class Program
  {
    static void Main(string[] args)
    {
      string startPath = @"c:\example\start";
      string zipPath = @"c:\example\result.zip";
      string extractPath = @"c:\example\extract";

      System.IO.Compression.ZipFile.CreateFromDirectory(startPath, zipPath);
      System.IO.Compression.ZipFile.ExtractToDirectory(zipPath, extractPath);
    }
  }
}

Kodu direkt olarak Microsoft belgelerine alınmıştır yukarıdaki: http://msdn.microsoft.com/en-us/library/ms404280(v=vs.110).aspx

ZipFile Meclisi System.IO.Compression.FileSystem içinde yer alıyor. (Teşekkürler...yorum aşağıya bakınız) nateirvin

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • audivila

    audivila

    5 HAZİRAN 2009
  • backyardjay

    backyardjay

    8 ŞUBAT 2009
  • ItZWaffleS420

    ItZWaffleS42

    9 EYLÜL 2011