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

  • Android Central

    Android Cent

    13 Kasım 2008
  • Alexey - servant of Christ

    Alexey - ser

    15 EYLÜL 2007
  • mist64

    mist64

    30 Mayıs 2006