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
- 関連項目:
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オブジェクトを返します。そうでない場合はnullを返します。Certificate[]
getCertificates()
この接続のURLがJARファイル・エントリを指す場合は証明書オブジェクトを返し、それ以外の場合はnullを返します。String
getEntryName()
この接続のエントリ名を返します。JarEntry
getJarEntry()
この接続のJARエントリ・オブジェクトが存在する場合にそれを返します。abstract JarFile
getJarFile()
この接続のJARファイルを返します。URL
getJarFileURL()
この接続で使うJARファイルのURLを返します。Attributes
getMainAttributes()
この接続で使うJARファイルの主要なAttributesを返します。Manifest
getManifest()
この接続の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
-
フィールド詳細
-
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ファイルURLが、JARファイル・エントリではなくJARファイルを指している場合、このメソッドはnullを返します。- 戻り値:
- この接続で使うエントリ名(エントリがある場合)。
-
getJarFile
public abstract JarFile getJarFile() throws IOExceptionこの接続のJARファイルを返します。- 戻り値:
- この接続のJARファイル。 この接続がJARファイルのエントリへの接続である場合には、JARファイル・オブジェクトが返される
- 例外:
IOException
−この接続のJARファイルへの接続試行中にIOExceptionが発生した場合。- 関連項目:
URLConnection.connect()
-
getManifest
public Manifest getManifest() throws IOExceptionこの接続のManifestが存在する場合はそれを、存在しない場合はnullを、それぞれ返します。- 戻り値:
- この接続のJARファイル・オブジェクトに対応するマニフェスト・オブジェクト。
- 例外:
IOException
- この接続のJARファイルの取得時にIOExceptionがスローされた場合。- 関連項目:
getJarFile()
-
getJarEntry
public JarEntry getJarEntry() throws IOExceptionこの接続のJARエントリ・オブジェクトが存在する場合にそれを返します。 この接続に対応するJARファイルURLが、JARファイル・エントリではなくJARファイルを指している場合、このメソッドはnullを返します。- 戻り値:
- この接続の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ファイル・エントリを指す場合は証明書オブジェクトを返し、それ以外の場合はnullを返します。 このメソッドは、入力ストリームを最後まで読みとって、接続が完全に検証されないかぎり呼び出せません。 そうでない場合は、このメソッドはnull
を返します- 戻り値:
- 接続で使うURLがJARファイル・エントリを指す場合、この接続用のCertificateオブジェクト、そうでない場合はnull。
- 例外:
IOException
- JARエントリの取得時にIOExceptionがスローされた場合。- 関連項目:
getJarEntry()
-