JavaTM 2 Platform
Standard Ed. 5.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();
 

JarURLConnection インスタンスは、JAR ファイルからの読み取り専用です。OutputStream を取得し、このクラスを使って、基本となる JAR ファイルに変更を加える (書き込む) ことはできません。

例:

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()
          この接続で使う Manifest を返します。
 
クラス 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 file 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 file 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 2 Platform
Standard Ed. 5.0

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

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