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のエントリを参照するJAR URLです。 次のようにエントリ名が省略された場合、そのURLはJARファイルの全体を参照します。jar:http://www.foo.com/bar/baz.jar!/ 
 
作成したURLがJAR URLであることがわかっていて、JARに固有の機能が必要である場合には、ジェネリックURLConnectionをJarURLConnectionにキャストするようにしてください。 たとえば、
 URL url = new URL("jar:file:/home/duke/duke.jar!/");
 JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
 Manifest manifest = jarConnection.getManifest();
 
 JarURLConnectionインスタンスは、JARファイルからの読取り時にしか使用できません。 このクラスでOutputStreamを取得して対象のJARファイルを変更したりデータを書き込んだりすることはできません。 
 
例
- 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の作成では、次のルールが適用されます。
 
- コンテキストURLがなく、URLコンストラクタに渡された指定が区切り文字を含まない場合は、そのURLはJarFileを参照していると見なされる。
- コンテキストURLがある場合は、そのコンテキストURLがJARファイルまたはJarディレクトリを参照していると見なされる。
- 指定が「/」で始まっている場合は、そのJarディレクトリを無視して、Jarファイルのルートを指定していると見なされる。
 例 - コンテキスト: jar:http://www.foo.com/bar/jar.jar!/、指定:baz/entry.txt
- url:jar:http://www.foo.com/bar/jar.jar!/baz/entry.txt
- コンテキスト: jar:http://www.foo.com/bar/jar.jar!/baz、指定:entry.txt
- url:jar:http://www.foo.com/bar/jar.jar!/baz/entry.txt
- コンテキスト: jar:http://www.foo.com/bar/jar.jar!/baz、指定:/entry.txt
- url:jar:http://www.foo.com/bar/jar.jar!/entry.txt
 
- 導入されたバージョン:
- 1.2
- 関連項目:
- 
フィールドのサマリーフィールドクラスjava.net.URLConnectionで宣言されたフィールドallowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明接続で使うURLがJARファイル・エントリを指す場合、この接続用のAttributesオブジェクトを返します。そうでない場合はnullを返します。この接続のURLがJARファイル・エントリを指す場合は証明書オブジェクトを返し、それ以外の場合はnullを返します。この接続のエントリ名を返します。この接続のJARエントリ・オブジェクトが存在する場合にそれを返します。abstract JarFileこの接続のJARファイルを返します。この接続で使うJARファイルのURLを返します。この接続で使うJARファイルの主要なAttributesを返します。この接続のManifestが存在する場合はそれを、存在しない場合はnullを、それぞれ返します。クラスjava.net.URLConnectionで宣言されたメソッドaddRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldKey, getHeaderFieldLong, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getPermission, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString
- 
フィールド詳細- 
jarFileURLConnectionprotected URLConnection jarFileURLConnection接続が開始された場合のJARファイルURLへの接続。 これはconnectによって設定されるべきです。
 
- 
- 
コンストラクタの詳細- 
JarURLConnectionprotected JarURLConnection(URL url) throws MalformedURLException 指定したURLに新しいJarURLConnectionを作成します。- パラメータ:
- url- URL
- 例外:
- MalformedURLException−指定文字列に有効なプロトコルが見つからない場合、または文字列を解析できない場合。
 
 
- 
- 
メソッドの詳細- 
getJarFileURL
- 
getEntryNamepublic String getEntryName()この接続のエントリ名を返します。 この接続に対応するJARファイルURLが、JARファイル・エントリではなくJARファイルを指している場合、このメソッドはnullを返します。- 戻り値:
- この接続で使うエントリ名(エントリがある場合)。
 
- 
getJarFilepublic abstract JarFile getJarFile() throws IOExceptionこの接続のJARファイルを返します。- 戻り値:
- この接続のJARファイル。 この接続がJARファイルのエントリへの接続である場合には、JARファイル・オブジェクトが返される
- 例外:
- IOException−この接続のJARファイルへの接続試行中にIOExceptionが発生した場合。
- 関連項目:
 
- 
getManifestpublic Manifest getManifest() throws IOExceptionこの接続のManifestが存在する場合はそれを、存在しない場合はnullを、それぞれ返します。- 戻り値:
- この接続のJARファイル・オブジェクトに対応するマニフェスト・オブジェクト。
- 例外:
- IOException- この接続のJARファイルの取得時にIOExceptionがスローされた場合。
- 関連項目:
 
- 
getJarEntrypublic JarEntry getJarEntry() throws IOExceptionこの接続のJARエントリ・オブジェクトが存在する場合にそれを返します。 この接続に対応するJARファイルURLが、JARファイル・エントリではなくJARファイルを指している場合、このメソッドはnullを返します。- 戻り値:
- この接続のJARエントリ・オブジェクト。この接続のJAR URLがJARファイルを指している場合はnull。
- 例外:
- IOException- この接続のJARファイルの取得時にIOExceptionがスローされた場合。
- 関連項目:
 
- 
getAttributespublic Attributes getAttributes() throws IOException接続で使うURLがJARファイル・エントリを指す場合、この接続用のAttributesオブジェクトを返します。そうでない場合はnullを返します。- 戻り値:
- この接続のURLがJARファイル・エントリを指している場合はこの接続のAttributesオブジェクト、そうでない場合はnull。
- 例外:
- IOException- JARエントリの取得時にIOExceptionがスローされた場合。
- 関連項目:
 
- 
getMainAttributespublic Attributes getMainAttributes() throws IOExceptionこの接続で使うJARファイルの主要なAttributesを返します。- 戻り値:
- この接続で使うJARファイルの主要なAttributes。
- 例外:
- IOException−マニフェストの取得時にIOExceptionがスローされた場合。
- 関連項目:
 
- 
getCertificatespublic Certificate[] getCertificates() throws IOExceptionこの接続のURLがJARファイル・エントリを指す場合は証明書オブジェクトを返し、それ以外の場合はnullを返します。 このメソッドは、入力ストリームを最後まで読みとって、接続が完全に検証されないかぎり呼び出せません。 そうでない場合は、このメソッドはnullを返します- 戻り値:
- 接続で使うURLがJARファイル・エントリを指す場合、この接続用のCertificateオブジェクト、そうでない場合はnull。
- 例外:
- IOException- JARエントリの取得時にIOExceptionがスローされた場合。
- 関連項目:
 
 
-