Java で JAR ファイルを抽出する方法: ステップバイステップ ガイド

Barbara Streisand
リリース: 2024-10-26 20:56:29
オリジナル
1033 人が閲覧しました

How to Extract JAR Files in Java: A Step-by-Step Guide

謎の解明: Java を使用した JAR ファイルの抽出

Java を使用する場合、抽出する必要がある状況に遭遇することがあります。 JAR ファイルの内容。この汎用形式は、クラス、ライブラリ、データなどのリソースをカプセル化します。ネイティブの jar コマンドライン ツールは JAR ファイルを解凍できますが、常に連携するとは限りません。

エラーの解明

jar -xf filename.jar を実行すると、謎のエラーが発生しました:「error=2、そのようなファイルまたはディレクトリはありません。」このわかりにくいメッセージは、jar 実行可能ファイルが見つからないことを示しています。これを修正するには、jar 実行可能ファイルへのパスが環境変数で正しく指定されていることを確認してください。

Java のパワーを利用する

幸いなことに、Java には、簡単に抽出するための包括的な API が用意されています。 JAR ファイル。 1 つのアプローチは、java.util.jar.JarFile クラスを利用することです。このクラスを使用すると、JAR ファイルを開いてその内容を反復処理できます。

実装の概要

次のコード スニペットを考えてみましょう:

<code class="java">java.util.jar.JarFile jar = new java.util.jar.JarFile(jarFile);
java.util.Enumeration enumEntries = jar.entries();
while (enumEntries.hasMoreElements()) {
    java.util.jar.JarEntry file = (java.util.jar.JarEntry) enumEntries.nextElement();
    java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());
    if (file.isDirectory()) {
        f.mkdir();
        continue;
    }
    java.io.InputStream is = jar.getInputStream(file);
    java.io.FileOutputStream fos = new java.io.FileOutputStream(f);
    while (is.available() > 0) {
        fos.write(is.read());
    }
    fos.close();
    is.close();
}
jar.close();</code>
ログイン後にコピー

このコードは、JAR ファイルのエントリを反復処理し、それらを抽出して、指定されたディレクトリに保存します。 destDir 変数を変更して、目的の抽出場所を指定できます。

さらに詳しい情報については、次のリソースを参照することもできます。

  • http://www.devx.com/ヒント/ヒント/22124

以上がJava で JAR ファイルを抽出する方法: ステップバイステップ ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート