SORU
17 ŞUBAT 2012, Cuma


/Dosyaları sıkıştırır ve zip için iyi bir Java kütüphanesi nedir?

Bu FIRSATLAR ve Apache sıkıştırma libs ile birlikte gelen varsayılan Zip kütüphaneye baktım ve 3 nedenden dolayı onlarla mutsuzum:

  1. Şişmiş ve kötü API tasarımı var. Ben 6 ** gerek var mı? Neden sadece çalışan Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null) Zipper.zip(File targetDirectory, String password = null) Bu gibi görünüyor basit bir API olabilir mi?

  2. Sıkıştırma ayıklama dosya meta-veri yok ve şifre kullanımı kırılmış gibi görünüyor.

  3. Ayrıca, tüm kütüphaneler denedim 2-3x UNİX ile birlikte komut satırı zip araçlara göre çok yavaştı?

Bana (2) ve (3) küçük noktalar vardır, ama ben gerçekten bir satırı arabirimi ile iyi test edilmiş bir kütüphane istiyorum.

CEVAP
1 ŞUBAT 2013, Cuma


Geç olduğunu biliyorum Ve bir sürü cevap var ama zip4j bu kullandığım sıkıştırma için en iyi kütüphanelerinden biridir. Basit (kazan kod) ve kolayca şifre korumalı dosyaları işleyebilir.

import net.lingala.zip4j.exception.ZipException;
import net.lingala.zip4j.core.ZipFile;


public static void unzip(){
    String source = "some/compressed/file.zip";
    String destination = "some/destination/folder";
    String password = "password";

    try {
         ZipFile zipFile = new ZipFile(source);
         if (zipFile.isEncrypted()) {
            zipFile.setPassword(password);
         }
         zipFile.extractAll(destination);
    } catch (ZipException e) {
        e.printStackTrace();
    }
}

Maven bağımlılık

<dependency>
    <groupId>net.lingala.zip4j</groupId>
    <artifactId>zip4j</artifactId>
    <version>1.3.2</version>
</dependency>

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • jesiel santos

    jesiel santo

    15 Ocak 2009
  • Pituvision

    Pituvision

    11 Mart 2006
  • World Science Festival

    World Scienc

    1 Mayıs 2008