树叶云鸿蒙OS教程:鸿蒙OS JarURLConnection

JarURLConnection

java.lang.Object

|—java.net.URLConnection

|—|—java.net.JarURLConnection

public abstract class JarURLConnection
extends URLConnection

与 Java ARchive (JAR) 文件或 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!/, spec:baz/entry.txt

url:jar:http://www.foo.com/bar/jar.jar!/baz/entry.txt

上下文:jar:http://www.foo.com/bar/jar.jar!/baz, spec:entry.txt

url:jar:http://www.foo.com/bar/jar.jar!/baz/entry.txt

上下文:jar:http://www.foo.com/bar/jar.jar!/baz, spec:/entry.txt

url:jar:http://www.foo.com/bar/jar.jar!/entry.txt

字段摘要

修饰符和类型字段描述
protected URLConnectionjarFileURLConnection与 JAR 文件 URL 的连接(如果已启动连接)。
从类 java.net.URLConnection 继承的字段
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches

构造函数摘要

修饰符构造函数描述
protectedJarURLConnection(URL url)为指定的 URL 创建新的 JarURLConnection。

方法总结

修饰符和类型方法描述
AttributesgetAttributes()如果该连接的 URL 指向 JAR 文件条目,则返回该连接的 Attributes 对象,否则返回 null。
Certificate[]getCertificates()如果此连接的 URL 指向 JAR 文件条目,则返回此连接的证书对象,否则返回 null。
StringgetEntryName()返回此连接的条目名称。
JarEntrygetJarEntry()返回此连接的 JAR 条目对象(如果有)。
abstract JarFilegetJarFile()返回此连接的 JAR 文件。
URLgetJarFileURL()返回此连接的 Jar 文件的 URL。
AttributesgetMainAttributes()返回此连接的 JAR 文件的主要属性。
ManifestgetManifest()返回此连接的清单,如果没有则返回 null。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
从类 java.net.URLConnection 继承的方法
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

字段详细信息

jarFileURLConnection

protected URLConnection jarFileURLConnection

与 JAR 文件 URL 的连接(如果已启动连接)。 这应该由连接设置。

构造函数详细信息

JarURLConnection

protected JarURLConnection(URL url) throws MalformedURLException

为指定的 URL 创建新的 JarURLConnection。

参数:

参数名称参数描述
url网址

Throws:

Throw名称Throw描述
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 文件对象

Throws:

Throw名称Throw描述
IOException如果在尝试连接到此连接的 JAR 文件时发生 IOException。

getManifest

public Manifest getManifest() throws IOException

返回此连接的清单,如果没有则返回 null。

返回:

与此连接的 JAR 文件对象对应的清单对象。

Throws:

Throw名称Throw描述
IOException如果获取此连接的 JAR 文件会导致抛出 IOException。

getJarEntry

public JarEntry getJarEntry() throws IOException

返回此连接的 JAR 条目对象(如果有)。 如果与此连接对应的 JAR 文件 URL 指向 JAR 文件而不是 JAR 文件条目,则此方法返回 null。

返回:

此连接的 JAR 条目对象,如果此连接的 JAR URL 指向 JAR 文件,则返回 null。

Throws:

Throw名称Throw描述
IOException如果获取此连接的 JAR 文件会导致抛出 IOException。

getAttributes

public Attributes getAttributes() throws IOException

如果该连接的 URL 指向 JAR 文件条目,则返回该连接的 Attributes 对象,否则返回 null。

返回:

如果此连接的 URL 指向 JAR 文件条目,则为该连接的 Attributes 对象,否则为 null。

Throws:

Throw名称Throw描述
IOException如果获取 JAR 条目导致抛出 IOException。

getMainAttributes

public Attributes getMainAttributes() throws IOException

返回此连接的 JAR 文件的主要属性。

返回:

此连接的 JAR 文件的主要属性。

Throws:

Throw名称Throw描述
IOException如果获取清单导致抛出 IOException。

getCertificates

public Certificate[] getCertificates() throws IOException

如果此连接的 URL 指向 JAR 文件条目,则返回此连接的证书对象,否则返回 null。 只有在通过从输入流中读取直到到达流的末尾来完全验证连接后,才能调用此方法。 否则,此方法将返回 null

返回:

如果此连接的 URL 指向 JAR 文件条目,则为该连接的 Certificate 对象,否则为 null。

Throws:

Throw名称Throw描述
IOException如果获取 JAR 条目导致抛出 IOException。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/162407.html<

(0)
管理的头像管理
上一篇2025-03-18 16:24
下一篇 2025-03-18 16:26

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注