public abstract class JarURLConnection extends URLConnection
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:http://www.foo.com/bar/baz.jar!/COM/foo/Quux.class
jar:http://www.foo.com/bar/baz.jar!/
jar:http://www.foo.com/bar/baz.jar!/COM/foo/
!/
は、区切り文字です。
new URL(context, spec)
を使ったJAR urlの作成では、次のルールが適用されます。
例
URL
, URLConnection
, JarFile
, JarInputStream
, Manifest
, ZipEntry
修飾子と型 | フィールドと説明 |
---|---|
protected URLConnection |
jarFileURLConnection
接続が開始された場合のJARファイルURLへの接続。
|
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
修飾子 | コンストラクタと説明 |
---|---|
protected |
JarURLConnection(URL url)
指定したURLに新しいJarURLConnectionを作成します。
|
修飾子と型 | メソッドと説明 |
---|---|
Attributes |
getAttributes()
接続で使うURLがJARファイル・エントリを指す場合、この接続用のAttributesオブジェクトを返します。そうでない場合はnullを返します。
|
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を、それぞれ返します。
|
addRequestProperty, connect, getAllowUserInteraction, getConnectTimeout, getContent, getContent, getContentEncoding, getContentLength, getContentLengthLong, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, 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, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setReadTimeout, setRequestProperty, setUseCaches, toString
protected URLConnection jarFileURLConnection
protected JarURLConnection(URL url) throws MalformedURLException
url
- URLMalformedURLException
−指定文字列に有効なプロトコルが見つからない場合、または文字列を解析できない場合。public URL getJarFileURL()
public String getEntryName()
public abstract JarFile getJarFile() throws IOException
IOException
−この接続のJARファイルへの接続試行中にIOExceptionが発生した場合。URLConnection.connect()
public Manifest getManifest() throws IOException
IOException
- この接続のJARファイルの取得時にIOExceptionがスローされた場合。getJarFile()
public JarEntry getJarEntry() throws IOException
IOException
- この接続のJARファイルの取得時にIOExceptionがスローされた場合。getJarFile()
, getJarEntry()
public Attributes getAttributes() throws IOException
IOException
- JARエントリの取得時にIOExceptionがスローされた場合。getJarEntry()
public Attributes getMainAttributes() throws IOException
IOException
−マニフェストの取得時にIOExceptionがスローされた場合。getJarFile()
, getManifest()
public Certificate[] getCertificates() throws IOException
null
を返しますIOException
- JARエントリの取得時にIOExceptionがスローされた場合。getJarEntry()
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.