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

クラスZipFile

  • すべての実装されたインタフェース:
    Closeable, AutoCloseable
    直系の既知のサブクラス:
    JarFile

    public class ZipFile
    extends Object
    implements Closeable
    このクラスは、ZIPファイルからエントリを読み込むために使用します。

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

    APIのノート:
    このZipFileによって使用されるリソースを解放するには、close()メソッドを明示的にまたはtry-with-resourcesによって呼び出す必要があります。 サブクラスは、サブクラスによって獲得されたリソースのクリーンアップを担当します。 クリーンアップを実行するためにfinalize()をオーバーライドするサブクラスは、Cleanerなどの代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。
    実装要件:
    このZipFileがサブクラス化され、closeメソッドがオーバーライドされた場合、ZipFileに到達できない場合、closeメソッドがファイナライズによって呼び出されます。 しかし、サブクラスはこの特定の実装に依存すべきではありません。ファイナライズは信頼できず、finalizeメソッドは非推奨される予定です。
    導入されたバージョン:
    1.1
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      ZipFile​(File file)
      Fileオブジェクトに指定されたZIPファイルを、読込み用に開きます。
      ZipFile​(File file, int mode)
      指定されたモードで指定のFileオブジェクトから読み込む新しいZipFileを開きます。
      ZipFile​(File file, int mode, Charset charset)
      指定されたモードで指定のFileオブジェクトから読み込む新しいZipFileを開きます。
      ZipFile​(File file, Charset charset)
      Fileオブジェクトに指定されたZIPファイルを、読込み用に開きます。
      ZipFile​(String name)
      zipファイルを読込み用に開きます。
      ZipFile​(String name, Charset charset)
      zipファイルを読込み用に開きます。
    • コンストラクタの詳細

      • ZipFile

        public ZipFile​(String name)
                throws IOException
        zipファイルを読込み用に開きます。

        セキュリティ・マネージャが存在する場合は、まず、セキュリティ・マネージャのcheckReadメソッドが引数としてnameを指定して呼び出され、読込みが許可されるかどうかを確認します。

        UTF-8 charsetを使用して、エントリ名とコメントがデコードされます。

        パラメータ:
        name - ZIPファイルの名前
        例外:
        ZipException - ZIP形式エラーが発生した場合
        IOException - 入出力エラーが発生した場合
        SecurityException - セキュリティ・マネージャが存在する場合に、セキュリティ・マネージャのcheckReadメソッドがファイルへの読込みアクセスを許可しないとき。
        関連項目:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile​(File file,
                       int mode)
                throws IOException
        指定されたモードで指定のFileオブジェクトから読み込む新しいZipFileを開きます。 モード引数は、OPEN_READまたはOPEN_READ|OPEN_DELETEである必要があります。

        セキュリティ・マネージャが存在する場合は、まず、セキュリティ・マネージャのcheckReadメソッドが引数としてnameを指定して呼び出され、読込みが許可されるかどうかを確認します。

        UTF-8 charsetを使用して、エントリ名とコメントがデコードされます

        パラメータ:
        file - 読取りのために開くZIPファイル
        mode - ファイルが開かれるモード
        例外:
        ZipException - ZIP形式エラーが発生した場合
        IOException - 入出力エラーが発生した場合
        SecurityException - セキュリティ・マネージャが存在し、そのcheckReadメソッドがファイルへの読取りアクセスを許可しないか、OPEN_DELETEフラグが設定されていて、そのcheckDeleteメソッドがファイルの削除を許可しない場合。
        IllegalArgumentException - mode引数が無効な場合
        導入されたバージョン:
        1.3
        関連項目:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile​(File file)
                throws ZipException,
                       IOException
        Fileオブジェクトに指定されたZIPファイルを、読込み用に開きます。

        UTF-8 charsetを使用して、エントリ名とコメントがデコードされます。

        パラメータ:
        file - 読取りのために開くZIPファイル
        例外:
        ZipException - ZIP形式エラーが発生した場合
        IOException - 入出力エラーが発生した場合
      • ZipFile

        public ZipFile​(File file,
                       int mode,
                       Charset charset)
                throws IOException
        指定されたモードで指定のFileオブジェクトから読み込む新しいZipFileを開きます。 モード引数は、OPEN_READまたはOPEN_READ|OPEN_DELETEである必要があります。

        セキュリティ・マネージャが存在する場合は、まず、セキュリティ・マネージャのcheckReadメソッドが引数としてnameを指定して呼び出され、読込みが許可されるかどうかを確認します。

        パラメータ:
        file - 読取りのために開くZIPファイル
        mode - ファイルが開かれるモード
        charset - UTF-8エンコーディング(エントリの汎用フラグによって示される)によってエンコードされていないZIPエントリ名とコメントのデコードに使用される文字セット
        例外:
        ZipException - ZIP形式エラーが発生した場合
        IOException - 入出力エラーが発生した場合
        SecurityException - セキュリティ・マネージャが存在し、そのcheckReadメソッドがファイルへの読取りアクセスを許可しないか、OPEN_DELETEフラグが設定されていて、そのcheckDeleteメソッドがファイルの削除を許可しない場合
        IllegalArgumentException - mode引数が無効な場合
        導入されたバージョン:
        1.7
        関連項目:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile​(String name,
                       Charset charset)
                throws IOException
        zipファイルを読込み用に開きます。

        セキュリティ・マネージャが存在する場合は、まず、セキュリティ・マネージャのcheckReadメソッドが引数としてnameを指定して呼び出され、読込みが許可されるかどうかを確認します。

        パラメータ:
        name - ZIPファイルの名前
        charset - UTF-8エンコーディング(エントリの汎用フラグによって示される)によってエンコードされていないZIPエントリ名とコメントのデコードに使用される文字セット
        例外:
        ZipException - ZIP形式エラーが発生した場合
        IOException - 入出力エラーが発生した場合
        SecurityException - セキュリティ・マネージャが存在する場合に、セキュリティ・マネージャのcheckReadメソッドがファイルへの読込みアクセスを許可しない場合
        導入されたバージョン:
        1.7
        関連項目:
        SecurityManager.checkRead(java.lang.String)
      • ZipFile

        public ZipFile​(File file,
                       Charset charset)
                throws IOException
        Fileオブジェクトに指定されたZIPファイルを、読込み用に開きます。
        パラメータ:
        file - 読取りのために開くZIPファイル
        charset - ZIPエントリ名とコメントのデコードに使用される文字セット (ZIPエントリの汎用ビット・フラグの言語エンコーディング・ビットが設定されている場合無視される)。
        例外:
        ZipException - ZIP形式エラーが発生した場合
        IOException - 入出力エラーが発生した場合
        導入されたバージョン:
        1.7
    • メソッドの詳細

      • getComment

        public String getComment()
        zipファイル・コメントを返します。コメントがない場合はnullを返します。
        戻り値:
        zipファイルのコメント文字列。コメント文字列がない場合は、null
        例外:
        IllegalStateException - ZIPファイルが閉じられている場合
        導入されたバージョン:
        1.7
      • getEntry

        public ZipEntry getEntry​(String name)
        指定された名前のZIPファイル・エントリを返します。見つからない場合は、nullを返します。
        パラメータ:
        name - エントリの名前
        戻り値:
        ZIPファイル・エントリ。見つからない場合はnull
        例外:
        IllegalStateException - ZIPファイルが閉じられている場合
      • getInputStream

        public InputStream getInputStream​(ZipEntry entry)
                                   throws IOException
        指定されたZIPファイル・エントリの内容を読み込む入力ストリームを返します。

        このZIPファイルを閉じると、このメソッドの呼出しにより返されたすべての入力ストリームが閉じられます。

        パラメータ:
        entry - ZIPファイル・エントリ
        戻り値:
        指定されたZIPファイル・エントリの内容を読み込む入力ストリーム。
        例外:
        ZipException - ZIP形式エラーが発生した場合
        IOException - 入出力エラーが発生した場合
        IllegalStateException - ZIPファイルが閉じられている場合
      • getName

        public String getName()
        ZIPファイルのパス名を返します。
        戻り値:
        ZIPファイルのパス名
      • entries

        public Enumeration<? extends ZipEntry> entries()
        ZIPファイル・エントリの列挙を返します。
        戻り値:
        ZIPファイル・エントリの列挙
        例外:
        IllegalStateException - ZIPファイルが閉じられている場合
      • stream

        public Stream<? extends ZipEntry> stream()
        ZIPファイル・エントリ上に順序付けされたStreamを返します。 エントリは、ZIPファイルの中央のディレクトリに存在する順番でStreamに存在します。
        戻り値:
        このZIPファイル内のエントリの順序付けされたStream
        例外:
        IllegalStateException - ZIPファイルが閉じられている場合
        導入されたバージョン:
        1.8
      • size

        public int size()
        ZIPファイル中のエントリの数を返します。
        戻り値:
        ZIPファイル中のエントリの数
        例外:
        IllegalStateException - ZIPファイルが閉じられている場合
      • close

        public void close()
                   throws IOException
        ZIPファイルを閉じます。

        このZIPファイルを閉じると、getInputStreamメソッドの呼出しにより以前に返されたすべての入力ストリームが閉じられます。

        定義:
        close、インタフェースAutoCloseable
        定義:
        close、インタフェースCloseable
        例外:
        IOException - 入出力エラーが発生した場合
      • finalize

        @Deprecated(since="9",
                    forRemoval=true)
        protected void finalize()
                         throws IOException
        削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
        finalizeメソッドは非推奨され、削除されます。 これはノー・オペレーションとして実装されています。 クリーンアップを実行するためにfinalizeをオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。 ZipFileオブジェクトの推奨クリーンアップは、もはや使用されていないときに明示的にcloseメソッドを呼び出すか、またはtry-with-resourcesを使用することです。 closeが明示的に呼び出されない場合、このオブジェクトが保持するリソースは、インスタンスが到達不能になると解放されます。
        このZipFileオブジェクトによって保持されているシステム・リソースを、それへの参照がなくなったときに解放されるようにします。
        オーバーライド:
        finalize、クラスObject
        例外:
        IOException - 入出力エラーが発生した場合
        関連項目:
        WeakReference, PhantomReference