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

クラスJarInputStream

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

public class JarInputStream extends ZipInputStream
JarInputStreamクラスは、任意の入力ストリームからJARファイルの内容を読み取るために使います。 これは、java.util.zip.ZipInputStreamクラスを拡張し、オプションのManifestエントリの読取りをサポートします。 Manifestエントリは、JARファイルとそのエントリのメタ情報を格納するために使います。
導入されたバージョン:
1.2
関連項目:
Manifest, ZipInputStream
  • フィールドのサマリー

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

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

    buf, inf, len

    クラス java.io.FilterInputStreamで宣言されたフィールド

    in
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    新しいJarInputStreamを作成して、オプションのマニフェストを読み込みます。
    JarInputStream​(InputStream in, boolean verify)
    新しいJarInputStreamを作成して、オプションのマニフェストを読み込みます。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected ZipEntry
    指定されたJARファイルのエントリ名に新しいJarEntry (ZipEntry)を作成します。
    このJARファイルのManifestを返します。マニフェストがない場合はnullを返します。
    次のZIPファイル・エントリを読み取って、エントリ・データの先頭にストリームを配置します。
    次のJARファイル・エントリを読み取って、エントリ・データの先頭にストリームを位置付けます。
    int
    read​(byte[] b, int off, int len)
    現在のJARファイル・エントリからバイトの配列に読み込みます。

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

    available, close, closeEntry, skip

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

    fill, mark, markSupported, read, reset

    クラス java.io.FilterInputStreamで宣言されたメソッド

    read

    クラス java.io.InputStreamで宣言されたメソッド

    nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo

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

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

    • 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ファイルのコメント長フィールド・オフセットの終わり。
      関連項目:
      定数フィールド値
  • コンストラクタの詳細

    • JarInputStream

      public JarInputStream(InputStream in) throws IOException
      新しいJarInputStreamを作成して、オプションのマニフェストを読み込みます。 マニフェストがあり、JarInputStreamが署名されている場合には、署名を確認します。
      パラメータ:
      in - 実際の入力ストリーム
      例外:
      IOException - 入出力エラーが発生した場合
    • JarInputStream

      public JarInputStream(InputStream in, boolean verify) throws IOException
      新しいJarInputStreamを作成して、オプションのマニフェストを読み込みます。 マニフェストがあり、verifyがtrueで、JarInputStreamが署名されている場合には、署名を確認します。
      パラメータ:
      in - 実際の入力ストリーム
      verify - JarInputStreamが署名されていることを確認するかどうか。
      例外:
      IOException - 入出力エラーが発生した場合
  • メソッドの詳細

    • getManifest

      public Manifest getManifest()
      このJARファイルのManifestを返します。マニフェストがない場合はnullを返します。
      戻り値:
      このJARファイルのManifest、マニフェストがない場合はnull
    • getNextEntry

      public ZipEntry getNextEntry() throws IOException
      次のZIPファイル・エントリを読み取って、エントリ・データの先頭にストリームを配置します。 確認が有効になっている場合は、次のエントリのストリーム配置の結果が例外になる間に任意の不正な署名が検出されます。
      オーバーライド:
      getNextEntry、クラス: ZipInputStream
      戻り値:
      次のZIPファイル・エントリ。エントリがこれ以上存在しない場合はnull
      例外:
      ZipException - ZIPファイル・エラーが発生した場合
      IOException - 入出力エラーが発生した場合
      SecurityException - jarファイル・エントリが誤って署名された場合。
    • getNextJarEntry

      public JarEntry getNextJarEntry() throws IOException
      次のJARファイル・エントリを読み取って、エントリ・データの先頭にストリームを位置付けます。 確認が有効になっている場合は、次のエントリのストリーム配置の結果が例外になる間に任意の不正な署名が検出されます。
      戻り値:
      次のJARファイル・エントリ。エントリがこれ以上存在しない場合はnull
      例外:
      ZipException - ZIPファイル・エラーが発生した場合
      IOException - 入出力エラーが発生した場合
      SecurityException - jarファイル・エントリが誤って署名された場合。
    • read

      public int read(byte[] b, int off, int len) throws IOException
      現在のJARファイル・エントリからバイトの配列に読み込みます。 lenが0でない場合、このメソッドは入力の一部が利用できるようになるまでブロックされます。それ以外の場合、バイトは読み込まれず、0が返されます。 確認が有効になっている場合は、エントリの最後に達するまでのいずれかの時点で、現在エントリにあるすべての不正な署名が報告されます。
      オーバーライド:
      read、クラス: ZipInputStream
      パラメータ:
      b - データの読込み先のバッファ
      off - 転送先配列の開始オフセットb
      len - 読み込む最大バイト数
      戻り値:
      実際に読み込まれたバイト数。エントリの最後に達した場合は -1
      例外:
      NullPointerException - bnullである場合。
      IndexOutOfBoundsException - offが負の値の場合、lenが負の値の場合、あるいはlenb.length - offより大きい場合
      ZipException - ZIPファイル・エラーが発生した場合
      IOException - 入出力エラーが発生した場合
      SecurityException - jarファイル・エントリが誤って署名された場合。
      関連項目:
      FilterInputStream.in
    • createZipEntry

      protected ZipEntry createZipEntry(String name)
      指定されたJARファイルのエントリ名に新しいJarEntry (ZipEntry)を作成します。 指定されたJARファイル・エントリ名のマニフェスト属性は、新規JarEntryにコピーされます。
      オーバーライド:
      createZipEntry、クラス: ZipInputStream
      パラメータ:
      name - JAR/ZIPファイル・エントリの名前
      戻り値:
      作成されたJarEntryオブジェクト