Java 简明教程
Java - URL Class
What is a URL?
URL 指统一资源定位符,表示 World Wide Web 上的一个资源,例如 Webpage 或 FTP 目录。
URL stands for Uniform Resource Locator and represents a resource on the World Wide Web, such as a Webpage or FTP directory.
此部分向您展示如何编写与 URL 通信的 Java 程序。URL 可以分解为以下部分:
This section shows you how to write Java programs that communicate with a URL. A URL can be broken down into parts, as follows −
protocol://host:port/path?query#ref
协议的示例包括 HTTP 、HTTPS、FTP 和 File。路径也称为文件名,主机也称为授权机构。
Examples of protocols include HTTP, HTTPS, FTP, and File. The path is also referred to as the filename, and the host is also called the authority.
Example
以下是一个协议为 HTTP 的网页的 URL:
The following is a URL to a web page whose protocol is HTTP −
https://www.amrood.com/index.htm?language=en#j2se
请注意此 URL 未指定端口,在这种情况下将使用该协议的默认端口。对于 HTTP,默认端口为 80。
Notice that this URL does not specify a port, in which case the default port for the protocol is used. With HTTP, the default port is 80.
Java URL Class
URL class 是 java.net 包的一部分。URL 类表示统一资源定位符 (URL)。URL 用于识别在线资源(例如:网页、网页中使用的图片、视频、文件等)。
The URL class is a part of the java.net package. URL class represents a Uniform Resource Locator (URL). Where, URLs are used for identifying online resources (for example: webpages, images used in the webpages, videos, files, etc.)
URL class 提供了多个构造函数和方法,用于创建、解析和操作 URL(或 URL 对象)。
The URL class provides several constructors and methods for creating, parsing, and manipulating URLs (or, URL objects).
URL Class Constructors
java.net.URL 类表示一个 URL,并具有用于在 Java 中处理 URL 的一组完整方法。
The java.net.URL class represents a URL and has a complete set of methods to manipulate URL in Java.
URL 类具有多个构造方法,用于创建 URL,包括以下方法:
The URL class has several constructors for creating URLs, including the following −
Sr.No. |
Constructors & Description |
1 |
public URL(String protocol, String host, int port, String file) throws MalformedURLException Creates a URL by putting together the given parts. |
2 |
public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException Creates a URL by putting together the given parts with the specified handler within a specified context. |
3 |
public URL(String protocol, String host, String file) throws MalformedURLException Identical to the previous constructor, except that the default port for the given protocol is used. |
4 |
public URL(String url) throws MalformedURLException Creates a URL from the given String. |
5 |
public URL(URL context, String url) throws MalformedURLException Creates a URL by parsing together the URL and String arguments. |
6 |
public URL(URL context, String url, URLStreamHandler handler) throws MalformedURLException Creates a URL by parsing together the URL and String arguments with the specified handler within a specified context. |
URL Class Methods
URL 类包含许多用于访问所表示 URL 的各个部分的方法。URL 类中的一些方法包括以下方法:
The URL class contains many methods for accessing the various parts of the URL being represented. Some of the methods in the URL class include the following −
Sr.No. |
Method & Description |
1 |
public equals(Object obj) This method compares this URL for equality with another object. |
2 |
public String getAuthority() This method returns the authority of the URL. |
3 |
public Object getContent() This method returns the contents of this URL. |
4 |
public Object getContent(Class<?>[] classes) This method returns the contents of this URL. |
5 |
public int getDefaultPort() This method returns the default port for the protocol of the URL. |
6 |
public String getFile() This method returns the filename of the URL. |
7 |
public String getHost() This method returns the host of the URL. |
8 |
public String getPath() This method returns the path of the URL. |
9 |
public int getPort() This method returns the port of the URL. |
10 |
public String getProtocol() This method returns the protocol of the URL. |
11 |
public String getQuery() This method returns the query part of the URL. |
12 |
public String getRef() This method returns the reference part of the URL. |
13 |
public String getUserInfo() This method returns the userInfo part of the URL. |
14 |
public int hashCode() This method creates and return an integer suitable for hash table indexing. |
15 |
public URLConnection openConnection() This method returns a URLConnection instance that represents a connection to the remote object referred to by the URL. |
16 |
public URLConnection openConnection(Proxy proxy) This method acts as openConnection(), except that the connection will be made through the specified proxy; Protocol handlers that do not support proxing will ignore the proxy parameter and make a normal connection. |
17 |
public InputStream openStream() This method opens a connection to this URL and returns an InputStream for reading from that connection. |
18 |
public boolean sameFile(URL other) This method compares two URLs, excluding the fragment component. |
19 |
public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac) This method sets an application’s URLStreamHandlerFactory. |
20 |
public String toExternalForm() This method constructs and return a string representation of this URL. |
21 |
public String toString() This method constructs and return a string representation of this URL. |
22 |
public String toURI() This method returns a URI equivalent to this URL. |
-
java.lang.Object
Example of URL Class
以下 URLDemo 程序演示了 URL 的各个部分。URL 输入在命令行上,URLDemo 程序输出给定 URL 的每个部分。
The following URLDemo program demonstrates the various parts of a URL. A URL is entered on the command line, and the URLDemo program outputs each part of the given 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();
}
}
}
此程序的示例运行将生成以下结果 −
A sample run of the this program will produce the following result −