[解決済み】ファイルをzip/unzipするための良いJavaライブラリは何ですか?[クローズド]
2022-04-16 18:13:57
質問
JDKに付属するデフォルトのZipライブラリとApacheの圧縮ライブラリを見てみましたが、3つの理由で不満があります。
-
肥大化し、APIの設計が悪い。私は 50行の定型的なバイト配列出力、zip入力、ストリームをファイル出力し、関連するストリームを閉じ、例外をキャッチし、バイトバッファを移動することを自分で書きます。 ? なぜ、次のようなシンプルなAPIではだめなのでしょうか?
Zipper.unzip(InputStream zipFile, File targetDirectory, String password = null)
とZipper.zip(File targetDirectory, String password = null)
ということでしょうか? -
zipping unzippingでファイルのメタデータが破壊され、パスワードの処理が壊れているようです。
-
また、私が試したすべてのライブラリは、UNIX で得られるコマンドラインの zip ツールに比べて 2-3 倍も遅かったのですが?
私にとっては(2)と(3)は小さなポイントですが、ワンラインインターフェースでテスト済みの良いライブラリが本当に欲しいのです。
どのように解決するのですか?
遅くなりましたが、たくさんの回答があります。 zip4j は、私が使ったことのあるzip用ライブラリの中で最も優れたものの1つです。シンプルで、パスワードで保護されたファイルを簡単に扱うことができます。
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の依存関係は。
<dependency>
<groupId>net.lingala.zip4j</groupId>
<artifactId>zip4j</artifactId>
<version>1.3.2</version>
</dependency>
関連
-
[解決済み] 7zip 不正なコマンドラインエラー?
-
[解決済み] .zstやtar.zstを持つアーカイブファイルを解凍するにはどうすればよいですか?[クローズド]
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaクラスにおけるcanonical name、simple name、class nameの違いは何ですか?
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
-
[解決済み】zlib、gzip、zipはどのように関係していますか?これらの共通点と相違点は何ですか?
-
[解決済み】ファイルをzip/unzipするための良いJavaライブラリは何ですか?[クローズド]
-
[解決済み] Google Page Speedのロスレス画像圧縮はどのように機能するのですか?
-
[解決済み] Gzipとminifyの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン