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

  • Showtime

    Showtime

    21 HAZİRAN 2006
  • The White House

    The White Ho

    21 Ocak 2006
  • Top Gear

    Top Gear

    27 Mart 2006