モジュール java.base
パッケージ java.util.jar

クラスJarFile

すべての実装されたインタフェース:
Closeable, AutoCloseable

public class JarFile extends ZipFile
JarFileクラスは、java.io.RandomAccessFileで開くことができる任意のファイルからjarファイルの内容を読み取るために使います。 java.util.zip.ZipFileクラスを拡張し、オプションのManifestエントリの読み取りをサポートし、マルチ・リリースjarファイルの処理をサポートします。 Manifestエントリは、jarファイルとそのエントリのメタ情報を指定するために使います。

「マルチ・リリースjarファイル」は、"Multi-Release"という名前のメイン属性を持つマニフェストを含むjarファイルです。"base"エントリのセットは、jarファイルのパブリック・インタフェースを構成するpublicまたはprotectedメソッドを含むパブリック・クラスであり、"versioned"エントリのセットが含まれています"META-INF/versions"ディレクトリのサブディレクトリにあります。 バージョン管理されたエントリは、Javaプラットフォームのメジャー・バージョンによってパーティション化されます。 バージョンn8 < nを"META-INF/versions/{n}"ディレクトリに持つバージョニング済みエントリは、ベース・エントリおよびバージョン番号i(8 < i < n)を持つエントリをオーバーライドします。

デフォルトでは、マルチ・リリースjarファイルのJarFileは、マルチ・リリースjarファイルを単純な(unversioned) jarファイルであるかのように処理するように構成されているため、エントリ名は最大でも1つのベース・エントリに関連付けられています。 JarFileは、JarFileJarFile(File, boolean, int, Runtime.Version)コンストラクタとともに作成することによって、マルチ・リリースjarファイルを処理するように構成できます。 Runtime.Versionオブジェクトは、バージョニングされたエントリを検索するときに使用される最大バージョンを設定します。 このように構成すると、エントリ名は最大でも1つの基本エントリと0個以上のバージョン管理されたエントリに対応できます。 エントリ名を、バージョンが最大バージョン(getEntry(String)を参照してください)以下の最新のバージョン管理されたエントリに関連付ける検索が必要です。

JarFileを利用してJarFileエントリの内容からクラスをロードするクラス・ローダーは、最後の引数に割り当てられた値Runtime.version()を使用してJarFile(File, boolean, int, Runtime.Version)コンストラクタを呼び出すことによって、JarFileを構築する必要があります。 これにより、実行中のJVMのメジャー・バージョンと互換性のあるクラスがマルチ・リリースJARファイルからロードされるようになります。

シグネチャ付きjarファイル・ファイルを開くときにverifyフラグがオンになっている場合、そのjarエントリの内容は、path nameに関連付けられているマニフェスト内に埋め込まれたシグネチャに対して検証されます。 複数文字のjarファイルの場合、バージョニングされたエントリの内容はそのシグネチャに対してverfieidとなり、JarEntry.getCodeSigners()は独自のシグネチャ者を戻します。 検証プロセスには、署名者の証明書の検証は含まれていないことに注意してください。 呼出し側で、JarEntry.getCodeSigners()の戻り値を検査し、署名が信頼できるかどうかをさらに判断してください。

ほかで指定がない場合、null引数をコンストラクタまたはこのクラスのメソッドへ渡すと、NullPointerExceptionがスローされます。

実装上のノート:
APIを使用してJarFile (例えば、コンパイルされたアプリケーションやライブラリの構成を上書きします)を構成できない場合は、2つのSystemプロパティを使用できます。
  • jdk.util.jar.versionには、負でない整数<= Runtime.version().feature()String表現である値を割り当てることができます。 この値は、実効ランタイム・バージョンをRuntime.version().feature()を評価することによって得られたデフォルト値以外の値に設定するために使用されます。 実効ランタイム・バージョンは、最後の引数の値がJarFile.runtimeVersion()のときにJarFile(File, boolean, int, Runtime.Version)コンストラクタが使用するバージョンです。
  • jdk.util.jar.enableMultiReleaseには、3つのStringtruefalse、またはforceのいずれかを割り当てることができます。 true(デフォルト値)は、マルチ・リリースjarファイル処理を有効にします。 falseは、"Multi-Release"マニフェスト属性を無視して、マルチ・リリースjar処理を無効にします。存在する場合は、マルチ・リリースjarファイルのバージョン管理されたディレクトリを無視します。 さらに、メソッドisMultiRelease()falseを返します。 forceにより、JarFileは構築後にランタイム・バージョン管理に初期化されます。 これはこのコードと事実上同じです: (new JarFile(File, boolean, int, JarFile.runtimeVersion())
導入されたバージョン:
1.2
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final int
    中央ディレクトリの(CEN)ヘッダー内部ファイル属性のフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー外部ファイル属性フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー・コメント長フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー非圧縮ファイルのcrc-32値フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー・ディスク番号の開始フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーの追加フィールド長フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー暗号化、復号化フラグのフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
    static final int
    中央ディレクトリの(CEN)ヘッダー圧縮メソッドのフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーの非圧縮サイズ・フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーのファイル名の長さフィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダーLOCヘッダーのオフセット・フィールドのオフセット。
    static final long
    中央ディレクトリの(CEN)ヘッダー・シグネチャ。
    static final int
    中央ディレクトリの(CEN)ヘッダー圧縮サイズ・フィールド・オフセット。
    static final int
    中央ディレクトリの(CEN)ヘッダー変更時間フィールド・オフセット。
    static final int
    フィールド・オフセットによって作成される中央ディレクトリ(CEN)ヘッダー・バージョン。
    static final int
    フィールド・オフセットの抽出に必要な中央ディレクトリ(CEN)ヘッダー・バージョン。
    static final int
    中央ディレクトリの(END)ヘッダーzipファイルのコメント長フィールド・オフセットの終わり。
    static final int
    中央ディレクトリの(END)ヘッダー・サイズの終了(バイト単位、(シグネチャを含む))。
    static final int
    最初のCENヘッダー・フィールドのオフセットに対する中央ディレクトリ(END)ヘッダー・オフセットの終了。
    static final long
    中央ディレクトリの(END)ヘッダー・シグネチャの終了。
    static final int
    中央ディレクトリの(END)ヘッダー中央ディレクトリ・サイズ(バイト単位)フィールド・オフセットの終了。
    static final int
    このディスク・フィールド・オフセット上のエントリの中央ディレクトリ(END)ヘッダー番号の終わり。
    static final int
    中央ディレクトリの(END)ヘッダーの入力フィールド・オフセットの合計数。
    static final int
    圧縮されていない余分なローカル(EXT)ヘッダーのcrc-32値フィールド・オフセット。
    static final int
    追加のローカル(EXT)ヘッダー・サイズ(バイト数(シグネチャを含む))。
    static final int
    余分なローカル(EXT)ヘッダーの非圧縮サイズ・フィールド・オフセット。
    static final long
    追加のローカル(EXT)ヘッダー・シグネチャ。
    static final int
    追加のローカル(EXT)ヘッダー圧縮サイズ・フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダー非圧縮ファイルcrc-32値フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダーの追加フィールド長フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダー汎用ビット・フラグ・フィールド・オフセット。
    static final int
    ローカル・ファイルの(LOC)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
    static final int
    ローカル・ファイル(LOC)ヘッダー圧縮メソッドのフィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダーの非圧縮サイズ・フィールド・オフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダーのファイル名の長さフィールド・オフセット。
    static final long
    ローカル・ファイル(LOC)ヘッダーのシグネチャ。
    static final int
    ローカル・ファイルの(LOC)ヘッダー圧縮サイズ・フィールドのオフセット。
    static final int
    ローカル・ファイル(LOC)ヘッダー変更時間フィールド・オフセット。
    static final int
    フィールド・オフセットの抽出に必要なローカル・ファイル(LOC)ヘッダー・バージョン。
    static final String
    JARマニフェスト・ファイルの名前です。

    クラス java.util.zip.ZipFileで宣言されたフィールド

    OPEN_DELETE, OPEN_READ
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    JarFile(File file)
    指定されたFileオブジェクトから読み込む新しいJarFileを作成します。
    JarFile(File file, boolean verify)
    指定されたFileオブジェクトから読み込む新しいJarFileを作成します。
    JarFile(File file, boolean verify, int mode)
    指定されたモードで指定のFileオブジェクトから読み込む新しいJarFileを作成します。
    JarFile(File file, boolean verify, int mode, Runtime.Version version)
    指定されたモードで指定のFileオブジェクトから読み込む新しいJarFileを作成します。
    指定されたファイルnameから読み込む新しいJarFileを作成します。
    JarFile(String name, boolean verify)
    指定されたファイルnameから読み込む新しいJarFileを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    マルチ・リリースjarファイルのバージョン管理されていない構成を表すバージョンを返します。
    jarファイル・エントリの列挙型を返します。
    指定された基本エントリ名のZipEntryを返します。見つからなければnullを返します。
    指定されたZIPファイル・エントリの内容を読み込む入力ストリームを返します。
    指定された基本エントリ名のJarEntryを返します。見つからなければnullを返します。
    jarファイルのマニフェストを返します。マニフェストがない場合はnullを返します。
    バージョン管理されたエントリを検索するときに使用される最大バージョンを返します。
    final boolean
    このjarファイルがマルチ・リリースjarファイルであるかどうかを示します。
    マルチ・リリースjarファイルの有効なランタイム・バージョン構成を表すバージョンを返します。
    jarファイル・エントリ上に順序付けされたStreamを返します。
    バージョン管理されたjarファイル・エントリのStreamを返します。

    クラス java.util.zip.ZipFileで宣言されたメソッド

    close, getComment, getName, size

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • MANIFEST_NAME

      public static final String MANIFEST_NAME
      JARマニフェスト・ファイルの名前です。
      関連項目:
    • LOCSIG

      static final long LOCSIG
      ローカル・ファイル(LOC)ヘッダーのシグネチャ。
      関連項目:
    • EXTSIG

      static final long EXTSIG
      追加のローカル(EXT)ヘッダー・シグネチャ。
      関連項目:
    • CENSIG

      static final long CENSIG
      中央ディレクトリの(CEN)ヘッダー・シグネチャ。
      関連項目:
    • ENDSIG

      static final long ENDSIG
      中央ディレクトリの(END)ヘッダー・シグネチャの終了。
      関連項目:
    • LOCHDR

      static final int LOCHDR
      ローカル・ファイルの(LOC)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
      関連項目:
    • EXTHDR

      static final int EXTHDR
      追加のローカル(EXT)ヘッダー・サイズ(バイト数(シグネチャを含む))。
      関連項目:
    • CENHDR

      static final int CENHDR
      中央ディレクトリの(CEN)ヘッダー・サイズ(バイト単位、(シグネチャを含む))。
      関連項目:
    • ENDHDR

      static final int ENDHDR
      中央ディレクトリの(END)ヘッダー・サイズの終了(バイト単位、(シグネチャを含む))。
      関連項目:
    • LOCVER

      static final int LOCVER
      フィールド・オフセットの抽出に必要なローカル・ファイル(LOC)ヘッダー・バージョン。
      関連項目:
    • LOCFLG

      static final int LOCFLG
      ローカル・ファイル(LOC)ヘッダー汎用ビット・フラグ・フィールド・オフセット。
      関連項目:
    • LOCHOW

      static final int LOCHOW
      ローカル・ファイル(LOC)ヘッダー圧縮メソッドのフィールド・オフセット。
      関連項目:
    • LOCTIM

      static final int LOCTIM
      ローカル・ファイル(LOC)ヘッダー変更時間フィールド・オフセット。
      関連項目:
    • LOCCRC

      static final int LOCCRC
      ローカル・ファイル(LOC)ヘッダー非圧縮ファイルcrc-32値フィールド・オフセット。
      関連項目:
    • LOCSIZ

      static final int LOCSIZ
      ローカル・ファイルの(LOC)ヘッダー圧縮サイズ・フィールドのオフセット。
      関連項目:
    • LOCLEN

      static final int LOCLEN
      ローカル・ファイル(LOC)ヘッダーの非圧縮サイズ・フィールド・オフセット。
      関連項目:
    • LOCNAM

      static final int LOCNAM
      ローカル・ファイル(LOC)ヘッダーのファイル名の長さフィールド・オフセット。
      関連項目:
    • LOCEXT

      static final int LOCEXT
      ローカル・ファイル(LOC)ヘッダーの追加フィールド長フィールド・オフセット。
      関連項目:
    • EXTCRC

      static final int EXTCRC
      圧縮されていない余分なローカル(EXT)ヘッダーのcrc-32値フィールド・オフセット。
      関連項目:
    • EXTSIZ

      static final int EXTSIZ
      追加のローカル(EXT)ヘッダー圧縮サイズ・フィールド・オフセット。
      関連項目:
    • EXTLEN

      static final int EXTLEN
      余分なローカル(EXT)ヘッダーの非圧縮サイズ・フィールド・オフセット。
      関連項目:
    • CENVEM

      static final int CENVEM
      フィールド・オフセットによって作成される中央ディレクトリ(CEN)ヘッダー・バージョン。
      関連項目:
    • CENVER

      static final int CENVER
      フィールド・オフセットの抽出に必要な中央ディレクトリ(CEN)ヘッダー・バージョン。
      関連項目:
    • CENFLG

      static final int CENFLG
      中央ディレクトリの(CEN)ヘッダー暗号化、復号化フラグのフィールド・オフセット。
      関連項目:
    • CENHOW

      static final int CENHOW
      中央ディレクトリの(CEN)ヘッダー圧縮メソッドのフィールド・オフセット。
      関連項目:
    • CENTIM

      static final int CENTIM
      中央ディレクトリの(CEN)ヘッダー変更時間フィールド・オフセット。
      関連項目:
    • CENCRC

      static final int CENCRC
      中央ディレクトリの(CEN)ヘッダー非圧縮ファイルのcrc-32値フィールド・オフセット。
      関連項目:
    • CENSIZ

      static final int CENSIZ
      中央ディレクトリの(CEN)ヘッダー圧縮サイズ・フィールド・オフセット。
      関連項目:
    • CENLEN

      static final int CENLEN
      中央ディレクトリの(CEN)ヘッダーの非圧縮サイズ・フィールド・オフセット。
      関連項目:
    • CENNAM

      static final int CENNAM
      中央ディレクトリの(CEN)ヘッダーのファイル名の長さフィールド・オフセット。
      関連項目:
    • CENEXT

      static final int CENEXT
      中央ディレクトリの(CEN)ヘッダーの追加フィールド長フィールド・オフセット。
      関連項目:
    • CENCOM

      static final int CENCOM
      中央ディレクトリの(CEN)ヘッダー・コメント長フィールド・オフセット。
      関連項目:
    • CENDSK

      static final int CENDSK
      中央ディレクトリの(CEN)ヘッダー・ディスク番号の開始フィールド・オフセット。
      関連項目:
    • CENATT

      static final int CENATT
      中央ディレクトリの(CEN)ヘッダー内部ファイル属性のフィールド・オフセット。
      関連項目:
    • CENATX

      static final int CENATX
      中央ディレクトリの(CEN)ヘッダー外部ファイル属性フィールド・オフセット。
      関連項目:
    • CENOFF

      static final int CENOFF
      中央ディレクトリの(CEN)ヘッダーLOCヘッダーのオフセット・フィールドのオフセット。
      関連項目:
    • ENDSUB

      static final int ENDSUB
      このディスク・フィールド・オフセット上のエントリの中央ディレクトリ(END)ヘッダー番号の終わり。
      関連項目:
    • ENDTOT

      static final int ENDTOT
      中央ディレクトリの(END)ヘッダーの入力フィールド・オフセットの合計数。
      関連項目:
    • ENDSIZ

      static final int ENDSIZ
      中央ディレクトリの(END)ヘッダー中央ディレクトリ・サイズ(バイト単位)フィールド・オフセットの終了。
      関連項目:
    • ENDOFF

      static final int ENDOFF
      最初のCENヘッダー・フィールドのオフセットに対する中央ディレクトリ(END)ヘッダー・オフセットの終了。
      関連項目:
    • ENDCOM

      static final int ENDCOM
      中央ディレクトリの(END)ヘッダーzipファイルのコメント長フィールド・オフセットの終わり。
      関連項目:
  • コンストラクタの詳細

    • JarFile

      public JarFile(String name) throws IOException
      指定されたファイルnameから読み込む新しいJarFileを作成します。 JarFileが署名されているかどうかが確認されます。
      パラメータ:
      name - 読込みのために開くjarファイルの名前
      例外:
      IOException - 入出力エラーが発生した場合
      SecurityException - ファイルへのアクセスがSecurityManagerによって拒否された場合
    • JarFile

      public JarFile(String name, boolean verify) throws IOException
      指定されたファイルnameから読み込む新しいJarFileを作成します。
      パラメータ:
      name - 読込みのために開くjarファイルの名前
      verify - jarファイルが署名されていることを確認するかどうか。
      例外:
      IOException - 入出力エラーが発生した場合
      SecurityException - ファイルへのアクセスがSecurityManagerによって拒否された場合
    • JarFile

      public JarFile(File file) throws IOException
      指定されたFileオブジェクトから読み込む新しいJarFileを作成します。 JarFileが署名されているかどうかが確認されます。
      パラメータ:
      file - 読込みのために開かれるjarファイル
      例外:
      IOException - 入出力エラーが発生した場合
      SecurityException - ファイルへのアクセスがSecurityManagerによって拒否された場合
    • JarFile

      public JarFile(File file, boolean verify) throws IOException
      指定されたFileオブジェクトから読み込む新しいJarFileを作成します。
      パラメータ:
      file - 読込みのために開かれるjarファイル
      verify - jarファイルが署名されていることを確認するかどうか。
      例外:
      IOException - 入出力エラーが発生した場合
      SecurityException - ファイルへのアクセスがSecurityManagerによって拒否された場合。
    • JarFile

      public JarFile(File file, boolean verify, int mode) throws IOException
      指定されたモードで指定のFileオブジェクトから読み込む新しいJarFileを作成します。 モード引数は、OPEN_READまたはOPEN_READ|OPEN_DELETEである必要があります。
      パラメータ:
      file - 読込みのために開かれるjarファイル
      verify - jarファイルが署名されていることを確認するかどうか。
      mode - ファイルが開かれるモード
      例外:
      IOException - 入出力エラーが発生した場合
      IllegalArgumentException - mode引数が無効な場合
      SecurityException - ファイルへのアクセスがSecurityManagerによって拒否された場合
      導入されたバージョン:
      1.3
    • JarFile

      public JarFile(File file, boolean verify, int mode, Runtime.Version version) throws IOException
      指定されたモードで指定のFileオブジェクトから読み込む新しいJarFileを作成します。 モード引数は、OPEN_READまたはOPEN_READ|OPEN_DELETEである必要があります。 正規表現に変換された後のversion引数は、マルチ・リリースjarファイルを処理するためのJarFileの構成に使用されます。

      バージョン・パラメータから得られる標準形式は、Runtime.Version.parse(Integer.toString(n))であり、ここで、nMath.max(version.feature(), JarFile.baseVersion().feature())です。

      パラメータ:
      file - 読込みのために開かれるjarファイル
      verify - jarファイルが署名されていることを確認するかどうか。
      mode - ファイルが開かれるモード
      version - マルチ・リリースjarファイルのリリース・バージョンを指定
      例外:
      IOException - 入出力エラーが発生した場合
      IllegalArgumentException - mode引数が無効な場合
      SecurityException - ファイルへのアクセスがSecurityManagerによって拒否された場合
      NullPointerException - versionnullの場合
      導入されたバージョン:
      9
  • メソッドの詳細

    • baseVersion

      public static Runtime.Version baseVersion()
      マルチ・リリースjarファイルのバージョン管理されていない構成を表すバージョンを返します。
      戻り値:
      バージョン管理されていない構成を表すバージョン
      導入されたバージョン:
      9
    • runtimeVersion

      public static Runtime.Version runtimeVersion()
      マルチ・リリースjarファイルの有効なランタイム・バージョン構成を表すバージョンを返します。

      デフォルトでは、返されるVersionの機能バージョン番号は、Runtime.version()の機能バージョン番号と等しくなります。 ただし、jdk.util.jar.versionプロパティが設定されている場合、返されるVersionはそのプロパティから派生し、機能のバージョン番号は等しくない場合があります。

      戻り値:
      ランタイム・バージョン管理された構成を表すバージョン
      導入されたバージョン:
      9
    • getVersion

      public final Runtime.Version getVersion()
      バージョン管理されたエントリを検索するときに使用される最大バージョンを返します。

      このJarFileがマルチ・リリースjarファイルではない、またはそのように処理されるように構成されていない場合、返されるバージョンはbaseVersion()から返されるバージョンと同じになります。

      戻り値:
      最大バージョン
      導入されたバージョン:
      9
    • isMultiRelease

      public final boolean isMultiRelease()
      このjarファイルがマルチ・リリースjarファイルであるかどうかを示します。
      戻り値:
      このJarFileが複数リリースのjarファイルの場合はtrue
      導入されたバージョン:
      9
    • getManifest

      public Manifest getManifest() throws IOException
      jarファイルのマニフェストを返します。マニフェストがない場合はnullを返します。
      戻り値:
      jarファイルのマニフェスト。マニフェストがない場合はnull
      例外:
      IllegalStateException - jarファイルが閉じられている場合に、スローされることがある
      IOException - 入出力エラーが発生した場合
    • getJarEntry

      public JarEntry getJarEntry(String name)
      指定された基本エントリ名のJarEntryを返します。見つからなければnullを返します。

      このJarFileがマルチ・リリースjarファイルであり、そのように処理されるように構成されている場合、指定されたエントリ名に関連付けられた最新のバージョン化されたエントリであるJarEntryを検索して返します。 返されるJarEntryは、エントリが存在するnの最大値に対して、文字列"META-INF/versions/{n}/"でプレフィクス付けられた特定の基本エントリ名に対応するバージョン付きエントリです。 そのようなバージョン管理されたエントリが存在しない場合、基本エントリのJarEntryが返されます。そうでない場合は、エントリが見つからない場合はnullが返されます。 バージョンnの初期値は、メソッドgetVersion()によって返される最大バージョンです。

      実装要件:
      この実装はgetEntry(String)を呼び出します。
      パラメータ:
      name - jarファイルのエントリ名
      戻り値:
      指定されたエントリ名のJarEntry、またはバージョン管理されたエントリ名、見つからなければnull
      例外:
      IllegalStateException - jarファイルが閉じられている場合に、スローされることがある
      関連項目:
    • getEntry

      public ZipEntry getEntry(String name)
      指定された基本エントリ名のZipEntryを返します。見つからなければnullを返します。

      このJarFileがマルチ・リリースjarファイルであり、そのように処理されるように構成されている場合、指定されたエントリ名に関連付けられた最新のバージョン化されたエントリであるZipEntryを検索して返します。 返されるZipEntryは、エントリが存在するnの最大値に対して、文字列"META-INF/versions/{n}/"でプレフィクス付けられた特定の基本エントリ名に対応するバージョン付きエントリです。 そのようなバージョン管理されたエントリが存在しない場合、基本エントリのZipEntryが返されます。そうでない場合は、エントリが見つからない場合はnullが返されます。 バージョンnの初期値は、メソッドgetVersion()によって返される最大バージョンです。

      オーバーライド:
      getEntry、クラスZipFile
      実装要件:
      この実装は、対応する基本エントリがない場合でも、リクエストされた名前のバージョン付きエントリを返す可能性があります。 これは、一致するプライベートまたはパッケージ・プライベートのバージョニングされたエントリがある場合に発生します。 サブクラスがこのメソッドをオーバーライドする場合は、オーバーライド・メソッドがsuper.getEntry(name)を呼び出してバージョン化されたすべてのエントリを取得するようにします。
      パラメータ:
      name - jarファイルのエントリ名
      戻り値:
      指定されたエントリ名またはバージョン化されたエントリ名のZipEntry、または見つからなければnull
      例外:
      IllegalStateException - jarファイルが閉じられている場合に、スローされることがある
      関連項目:
    • entries

      public Enumeration<JarEntry> entries()
      jarファイル・エントリの列挙型を返します。
      オーバーライド:
      entries、クラスZipFile
      戻り値:
      jarファイル・エントリの列挙型
      例外:
      IllegalStateException - jarファイルが閉じられている場合に、スローされることがある
    • stream

      public Stream<JarEntry> stream()
      jarファイル・エントリ上に順序付けされたStreamを返します。 エントリは、Streamに、jarファイルの中央ディレクトリに表示される順序で表示されます。
      オーバーライド:
      クラスZipFilestream
      戻り値:
      このjarファイル内のエントリの順序付けられたStream
      例外:
      IllegalStateException - jarファイルが閉じられている場合
      導入されたバージョン:
      1.8
    • versionedStream

      public Stream<JarEntry> versionedStream()
      バージョン管理されたjarファイル・エントリのStreamを返します。

      このJarFileがマルチ・リリースjarファイルであり、そのように処理されるように構成されている場合、ストリーム内のエントリは、対応するベース・エントリ名に関連付けられた最新バージョン・エントリです。 バージョン管理された最新のエントリの最大バージョンは、getVersion()によって返されたバージョンです。 返されるストリームには、バージョニングされたエントリとしてのみ存在するエントリが含まれる場合があります。 jarファイルがマルチ・リリースjarファイルでない場合、またはJarFileがマルチ・リリースjarファイルの処理用に構成されていない場合、このメソッドはstream()が返すストリームと同じストリームを返します。

      戻り値:
      バージョン管理されたエントリのストリーム
      導入されたバージョン:
      10
    • getInputStream

      public InputStream getInputStream(ZipEntry ze) throws IOException
      指定されたZIPファイル・エントリの内容を読み込む入力ストリームを返します。
      オーバーライド:
      getInputStream、クラスZipFile
      パラメータ:
      ze - ZIPファイル・エントリ
      戻り値:
      指定されたzipファイル・エントリの内容を読み取るための入力ストリームまたはjarファイル内にzipファイル・エントリが存在しない場合はnull
      例外:
      ZipException - zipファイル形式エラーが発生した場合
      IOException - 入出力エラーが発生した場合
      SecurityException - jarファイル・エントリが誤って署名された場合。
      IllegalStateException - jarファイルが閉じられている場合に、スローされることがある