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

クラスZipFile

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


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

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

    導入されたバージョン:
    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ファイルを読込み用に開きます。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 具象メソッド 非推奨のメソッド 
      修飾子と型 メソッド 説明
      void close​()
      ZIPファイルを閉じます。
      Enumeration<? extends ZipEntry> entries​()
      ZIPファイル・エントリの列挙を返します。
      protected void finalize​()
      非推奨。 
      finalizeメソッドは推奨されていません。 クリーンアップを実行するためにfinalizeをオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。 finalizeメソッドをオーバーライドする場合、実装では、super.finalize()Object.finalize()の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()の仕様を参照してください。
      String getComment​()
      zipファイル・コメントを返します。コメントがない場合はnullを返します。
      ZipEntry getEntry​(String name)
      指定された名前のZIPファイル・エントリを返します。見つからない場合は、nullを返します。
      InputStream getInputStream​(ZipEntry entry)
      指定されたZIPファイル・エントリの内容を読み込む入力ストリームを返します。
      String getName​()
      ZIPファイルのパス名を返します。
      int size​()
      ZIPファイル中のエントリの数を返します。
      Stream<? extends ZipEntry> stream​()
      ZIPファイル・エントリ上に順序付けされたStreamを返します。
    • コンストラクタの詳細

      • 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")
        protected void finalize​()
                         throws IOException
        非推奨。 finalizeメソッドは推奨されていません。 クリーンアップを実行するためにfinalizeをオーバーライドするサブクラスは、代替クリーンアップ・メカニズムを使用し、オーバーライドするfinalizeメソッドを削除するように変更する必要があります。 finalizeメソッドをオーバーライドする場合、実装では、super.finalize()Object.finalize()の説明に従って呼び出されることを明示的に確認する必要があります。 移行オプションの詳細については、Object.finalize()の仕様を参照してください。
        このZipFileオブジェクトによって保持されているシステム・リソースを、それへの参照がなくなったときに解放されるようにします。

        GCでこのメソッドが呼び出される時間が決まっていないため、このZipFileへのアクセスが完了した直後に、アプリケーションでcloseメソッドを呼び出すことを強くお薦めします。 これにより、時間が定まらないままシステム・リソースが保持されるのを防止できます。

        オーバーライド:
        finalize、クラス: Object
        例外:
        IOException - 入出力エラーが発生した場合
        関連項目:
        close()