Lebih
Kompresi / Dekompresi Folder & File
Apakah ada yang tahu cara yang baik untuk compress atau dekompresi file dan folder di C# dengan cepat? Penanganan file besar mungkin diperlukan.
50
9
Yang .Net 2.0 framework namespace
Sistem.IO.Kompresi
mendukung GZip dan algoritma Deflate. Berikut ini adalah dua metode yang kompres dan dekompresi sebuah byte stream yang bisa anda dapatkan dari file objek. Anda dapat subsituteGZipStream
untukDefaultStream
dalam metode di bawah ini untuk menggunakan algoritma itu. Ini masih menyisakan masalah penanganan file yang dikompresi dengan algoritma yang berbeda sekalipun.I've selalu digunakan SharpZip Perpustakaan.
Di sini's link
Sebagai dari .Net 1.1 satu-satunya metode yang tersedia adalah menjangkau ke perpustakaan java.
Menggunakan Resleting Kelas di J# Perpustakaan Kelas untuk Kompres File dan Data dengan C#
Tidak yakin jika hal ini telah berubah dalam beberapa versi.
Anda dapat menggunakan pihak ke-3 perpustakaan seperti SharpZip sebagai Tom menunjuk keluar.
Cara lain (tanpa pihak ke-3) adalah dengan menggunakan Shell Windows API. Anda'll perlu untuk mengatur referensi ke Microsoft Shell Kontrol dan Otomatisasi COM perpustakaan di C# proyek. Gerald Gibson memiliki contoh di:
Internet Archive's copy mati page
Jawaban saya akan menutup mata anda dan memilih untuk DotNetZip. It's telah diuji oleh sebuah komunitas besar.
GZipStream adalah benar-benar utilitas yang baik untuk digunakan.
Ini sangat mudah untuk dilakukan di jawa, dan seperti yang dinyatakan di atas anda dapat mencapai ke java.util.zip perpustakaan dari C#. Untuk referensi lihat:
java.util.zip javadocs
contoh kode
Saya menggunakan ini saat yang lalu untuk melakukan deep (rekursif) zip dari struktur folder, tapi aku don't pikir saya pernah menggunakan unzip. Jika saya'm jadi termotivasi saya dapat menarik kode yang keluar dan edit ke sini nanti.
Alternatif lain yang baik juga DotNetZip.
anda dapat membuat file zip dengan metode ini:
dan kemudian anda dapat meng-unzip file zip dengan metode ini:
1 - metode ini bekerja dengan file zip jalan
2 - metode ini bekerja dengan file zip stream