Java 简明教程

Java - URL Class

What is a URL?

URL 指统一资源定位符,表示 World Wide Web 上的一个资源,例如 Webpage 或 FTP 目录。

此部分向您展示如何编写与 URL 通信的 Java 程序。URL 可以分解为以下部分:

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

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

Example

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

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

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

Java URL Class

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

URL class 提供了多个构造函数和方法,用于创建、解析和操作 URL(或 URL 对象)。

URL Class Declaration

public final class URL
   extends Object
      implements Serializable

URL Class Constructors

java.net.URL 类表示一个 URL,并具有用于在 Java 中处理 URL 的一组完整方法。

URL 类具有多个构造方法,用于创建 URL,包括以下方法:

Sr.No.

Constructors & Description

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 Class Methods

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

Sr.No.

Method & Description

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() 该方法返回一个表示到 URL 所引用的远程对象连接的 URLConnection 实例。

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。

  1. java.lang.Object

Example of URL Class

以下 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://www.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();
      }
   }
}

此程序的示例运行将生成以下结果 −

Output

URL is https://www.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