Java 教程

Java 控制语句

面向对象编程

Java 内置类

Java 文件处理

Java 错误和异常

Java 多线程

Java 同步

Java 网络

Java 集合

Java 接口

Java 数据结构

Java 集合算法

高级 Java

Java 杂项

Java API 和框架

Java 类参考

Java 有用资源

Java - URL 类



什么是 URL?

URL 代表统一资源定位符,表示 万维网 上的资源,例如 网页 或 FTP 目录。

本节将向您展示如何编写与 URL 通信的 Java 程序。URL 可以分解成以下几个部分:

protocol://host:port/path?query#ref

协议示例包括 HTTP、HTTPS、FTP 和文件。路径也称为文件名,主机也称为权限。

示例

以下是协议为 HTTP 的网页的 URL:

https://www.amrood.com/index.htm?language=en#j2se

请注意,此 URL 未指定端口,在这种情况下,将使用协议的默认端口。对于 HTTP,默认端口为 80。

Java URL 类

URL 类是 java.net 包的一部分。URL 类表示统一资源定位符 (URL)。其中,URL 用于识别在线资源(例如:网页、网页中使用的图像、视频、文件等)。

URL 类提供了几个构造函数和方法来创建、解析和操作 URL(或 URL 对象)。

URL 类声明

public final class URL
   extends Object
      implements Serializable

URL 类构造函数

java.net.URL 类表示一个 URL,并有一套完整的用于在 Java 中操作 URL 的方法。

URL 类有几个用于创建 URL 的构造函数,包括以下内容:

序号 构造函数和描述
1

public URL(String protocol, String host, int port, String file) throws MalformedURLException

通过组合给定的部分创建一个 URL。

2

public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException

通过组合给定的部分以及在指定上下文中指定的处理程序来创建一个 URL。

3

public URL(String protocol, String host, String file) throws MalformedURLException

与上一个构造函数相同,只是使用了给定协议的默认端口。

4

public URL(String url) throws MalformedURLException

从给定的字符串创建一个 URL。

5

public URL(URL context, String url) throws MalformedURLException

通过解析 URL 和字符串参数组合创建一个 URL。

6

public URL(URL context, String url, URLStreamHandler handler) throws MalformedURLException

通过解析 URL 和字符串参数以及在指定上下文中指定的处理程序来创建一个 URL。

URL 类方法

URL 类包含许多用于访问所表示的 URL 的各个部分的方法。URL 类中的一些方法包括以下内容:

序号 方法和描述
1

public equals(Object obj)

此方法比较此 URL 与另一个对象的相等性。

2

public String getAuthority()

此方法返回 URL 的权限。

3

public Object getContent()

此方法返回此 URL 的内容。

4

public Object getContent(Class<?>[] classes)

此方法返回此 URL 的内容。

5

public int getDefaultPort()

此方法返回 URL 协议的默认端口。

6

public String getFile()

此方法返回 URL 的文件名。

7

public String getHost()

此方法返回 URL 的主机。

8

public String getPath()

此方法返回 URL 的路径。

9

public int getPort()

此方法返回 URL 的端口。

10

public String getProtocol()

此方法返回 URL 的协议。

11

public String getQuery()

此方法返回 URL 的查询部分。

12

public String getRef()

此方法返回 URL 的引用部分。

13

public String getUserInfo()

此方法返回 URL 的 userInfo 部分。

14

public int hashCode()

此方法创建并返回一个适合哈希表索引的整数。

15

public URLConnection openConnection()

此方法返回一个 URLConnection 实例,该实例表示与 URL 引用的远程对象的连接。

16

public URLConnection openConnection(Proxy proxy)

此方法的作用与 openConnection() 相同,只是连接将通过指定的代理进行;不支持代理的协议处理程序将忽略代理参数并建立正常连接。

17

public InputStream openStream()

此方法打开到此 URL 的连接,并返回一个 InputStream 用于读取该连接。

18

public boolean sameFile(URL other)

此方法比较两个 URL,不包括片段组件。

19

public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)

此方法设置应用程序的 URLStreamHandlerFactory。

20

public String toExternalForm()

此方法构造并返回此 URL 的字符串表示形式。

21

public String toString()

此方法构造并返回此 URL 的字符串表示形式。

22

public String toURI()

此方法返回与此 URL 等效的 URI。

  • java.lang.Object

URL 类的示例

以下 URLDemo 程序演示了 URL 的各个部分。在命令行上输入 URL,URLDemo 程序输出给定 URL 的每个部分。

// File Name : URLDemo.java
import java.io.IOException;
import java.net.URL;

public class URLDemo {

   public static void main(String [] args) {
      try {
         URL url = new URL("https://tutorialspoint.com/index.htm?language=en#j2se");
         
         System.out.println("URL is " + url.toString());
         System.out.println("protocol is " + url.getProtocol());
         System.out.println("authority is " + url.getAuthority());
         System.out.println("file name is " + url.getFile());
         System.out.println("host is " + url.getHost());
         System.out.println("path is " + url.getPath());
         System.out.println("port is " + url.getPort());
         System.out.println("default port is " + url.getDefaultPort());
         System.out.println("query is " + url.getQuery());
         System.out.println("ref is " + url.getRef());
      } catch (IOException e) {
         e.printStackTrace();
      }
   }
}

此程序的示例运行将产生以下结果:

输出

URL is https://tutorialspoint.com/index.htm?language=en#j2se
protocol is https
authority is www.tutorialspoint.com
file name is /index.htm?language=en
host is www.tutorialspoint.com
path is /index.htm
port is -1
default port is 443
query is language=en
ref is j2se
广告