JavaTM 2
Platform
Std. Ed. v1.4.0

java.net
クラス JarURLConnection

java.lang.Object
  |
  +--java.net.URLConnection
        |
        +--java.net.JarURLConnection

public abstract class JarURLConnection
extends URLConnection

JAR (Java ARchive) ファイル、または JAR ファイル内にあるエントリへの URL 接続です。

JAR URL の構文は、次のとおりです。

 jar:<url>!/{entry}
 

例:

jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class

Jar URL は、JAR ファイルへの参照、あるいは JAR ファイルのエントリへの参照のどちらにも使えます。上記に示した例は JAR エントリを参照しています。エントリ名が省略された場合、URL は JAR ファイルの全体を参照します。 jar:http://www.foo.com/bar/baz.jar!/

JAR URL を作成するのが明白な場合、JAR 特有の機能が必要なときは、汎用 URLConnection を JarURLConnection にキャストしてください。次に例を示します。

 URL url = new URL("jar:file:/home/duke/duke.jar!/");
 JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
 Manifest manifest = jarConnection.getManifest();
 

例:

Jar エントリ
jar:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
Jar ファイル
jar:http://www.foo.com/bar/baz.jar!/
Jar ディレクトリ
jar:http://www.foo.com/bar/baz.jar!/COM/foo/

!/ は、区切り文字です。

new URL(context, spec) を使った JAR url の作成では、以下の規則が適用されます。

導入されたバージョン:
1.2
関連項目:
URL, URLConnection, JarFile, JarInputStream, Manifest, ZipEntry

フィールドの概要
protected  URLConnection jarFileURLConnection
          接続が開始された場合の、JAR ファイル URL への接続です。
 
クラス java.net.URLConnection から継承したフィールド
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
 
コンストラクタの概要
protected JarURLConnection(URL url)
          指定した URL に新しい JarURLConnection を作成します。
 
メソッドの概要
 Attributes getAttributes()
          接続で使う URL が JAR ファイルエントリを指す場合、この接続用の Attributes オブジェクトを返します。
 Certificate[] getCertificates()
          接続で使う URL が JAR ファイルエントリを指す場合に、この接続用の Certificate オブジェクトを返します。
 String getEntryName()
          この接続で使うエントリ名を返します。
 JarEntry getJarEntry()
          この接続で使う JAR エントリオブジェクトがあれば、それを返します。
abstract  JarFile getJarFile()
          この接続で使う JAR ファイルを返します。
 URL getJarFileURL()
          この接続で使う JAR ファイルの URL を返します。
 Attributes getMainAttributes()
          この接続で使う JAR ファイルの主要な Attributes を返します。
 Manifest getManifest()
          この接続で使うマニフェストがあればそれを返し、なければ null を返します。
 
クラス java.net.URLConnection から継承したメソッド
addRequestProperty, connect, getAllowUserInteraction, getContent, getContent, getContentEncoding, getContentLength, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldKey, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getPermission, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setRequestProperty, setUseCaches, toString
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

jarFileURLConnection

protected URLConnection jarFileURLConnection
接続が開始された場合の、JAR ファイル URL への接続です。これは、connect で設定してください。

コンストラクタの詳細

JarURLConnection

protected JarURLConnection(URL url)
                    throws MalformedURLException
指定した URL に新しい JarURLConnection を作成します。

パラメータ:
url - URL
例外:
MalformedURLException - 指定文字列に有効なプロトコルが見つからない場合、または文字列を解析できない場合
メソッドの詳細

getJarFileURL

public URL getJarFileURL()
この接続で使う JAR ファイルの URL を返します。

戻り値:
この接続で使う JAR ファイルの URL

getEntryName

public String getEntryName()
この接続で使うエントリ名を返します。この接続と対応する JAR file URL が JAR ファイルのエントリではなく JAR ファイルを指している場合、このメソッドは null を返します。

戻り値:
この接続で使うエントリ名 (エントリがある場合)

getJarFile

public abstract JarFile getJarFile()
                            throws IOException
この接続で使う JAR ファイルを返します。返されたオブジェクトは変更不可能であり、呼び出し側が変更を試みた場合は UnsupportedOperationException がスローされます。

戻り値:
この接続で使う JAR ファイル。JAR ファイルのエントリへの接続である場合は、JAR ファイルオブジェクトが返される
例外:
IOException - この接続で使う JAR ファイルへの接続を試みているときに IOException が発生した場合
関連項目:
URLConnection.connect()

getManifest

public Manifest getManifest()
                     throws IOException
この接続で使うマニフェストがあればそれを返し、なければ null を返します。返されたオブジェクトは変更不可能であり、呼び出し側が変更を試みた場合は UnsupportedOperationException がスローされます。

戻り値:
この接続で使う JAR ファイルオブジェクトと対応するマニフェストオブジェクト
例外:
IOException - この接続で使う JAR ファイルの取得が原因で IOException がスローされた場合
関連項目:
getJarFile()

getJarEntry

public JarEntry getJarEntry()
                     throws IOException
この接続で使う JAR エントリオブジェクトがあれば、それを返します。この接続と対応する JAR ファイルの URL が JAR ファイルのエントリではなく JAR ファイルを指している場合、このメソッドは null を返します。返されたオブジェクトは変更不可能であり、呼び出し側が変更を試みた場合は UnsupportedOperationException がスローされます。

戻り値:
この接続で使う JAR エントリオブジェクト。この接続の JAR URL が JAR ファイルを指している場合は null
例外:
IOException - この接続で使う JAR ファイルの取得が原因で IOException がスローされた場合
関連項目:
getJarFile(), getJarEntry()

getAttributes

public Attributes getAttributes()
                         throws IOException
接続で使う URL が JAR ファイルエントリを指す場合、この接続用の Attributes オブジェクトを返します。そうでない場合は null を返します。

戻り値:
接続で使う URL が JAR ファイルエントリを指す場合、この接続用の Attributes オブジェクト、そうでない場合は null
例外:
IOException - JAR エントリの取得が原因で IOException がスローされた場合
関連項目:
getJarEntry()

getMainAttributes

public Attributes getMainAttributes()
                             throws IOException
この接続で使う JAR ファイルの主要な Attributes を返します。

戻り値:
この接続で使う JAR ファイルの主要な Attributes
例外:
IOException - マニフェストの取得が原因で IOException がスローされた場合
関連項目:
getJarFile(), getManifest()

getCertificates

public Certificate[] getCertificates()
                              throws IOException
接続で使う URL が JAR ファイルエントリを指す場合に、この接続用の Certificate オブジェクトを返します。そうでない場合は null を返します。このメソッドは、入力ストリームをその最後まで読み込むことで、接続が完全に検証された場合にだけ呼び出すことができます。そうでない場合、このメソッドは null を返します。

戻り値:
接続で使う URL が JAR ファイルエントリを指す場合、この接続用の Certificate オブジェクト、そうでない場合は null
例外:
IOException - JAR エントリの取得が原因で IOException がスローされた場合
関連項目:
getJarEntry()

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.