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

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • sinumatic

    sinumatic

    19 Aralık 2006