JavaTM Platform
Standard Ed. 6

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 のエントリを参照する 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 の作成では、次の規則が適用されます。

導入されたバージョン:
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 オブジェクト、そうでない場合は 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, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderField, getHeaderField, getHeaderFieldDate, getHeaderFieldInt, getHeaderFieldKey, getHeaderFields, getIfModifiedSince, getInputStream, getLastModified, getOutputStream, getPermission, getReadTimeout, getRequestProperties, getRequestProperty, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setConnectTimeout, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, 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 ファイル 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 ファイルエントリを指す場合はこの接続用の Certificate オブジェクト、そうでない場合は null を返します。このメソッドは、入力ストリームを最後まで読みとって、接続が完全に検証されない限り呼び出せません。そうでない場合は、このメソッドは null を返します。

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

JavaTM Platform
Standard Ed. 6

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

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。