Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
URL
类提供了几种方法,可用于查询 URL
对象。你可以使用以下访问器方法从 URL 获取协议,权限,主机名,端口号,路径,查询,文件名和引用:
getProtocol
getAuthority
getHost
getPort
getPort
方法返回一个整数,即端口号。如果未设置端口,getPort
将返回-1。getPath
getQuery
getFile
getFile
方法返回与 getPath
相同的内容,加上 getQuery
的值(如果有)。getRef
请记住,并非所有 URL 地址都包含这些组件。URL 类提供了这些方法,因为 HTTP URL 确实包含这些组件,并且可能是最常用的 URL。URL 类有点以 HTTP 为中心。
无论用于创建 URL 对象的构造函数如何,都可以使用这些 getXXX
方法获取有关 URL 的信息。
URL 类以及这些访问器方法使你不必再次解析 URL!给定 URL 的任何字符串规范,只需创建一个新的 URL 对象并调用任何访问器方法以获取所需的信息。这个小示例程序从字符串规范创建一个 URL,然后使用 URL 对象的访问器方法来解析 URL:
import java.net.*; import java.io.*; public class ParseURL { public static void main(String[] args) throws Exception { URL aURL = new URL("http://example.com:80/docs/books/tutorial" + "/index.html?name=networking#DOWNLOADING"); System.out.println("protocol = " + aURL.getProtocol()); System.out.println("authority = " + aURL.getAuthority()); System.out.println("host = " + aURL.getHost()); System.out.println("port = " + aURL.getPort()); System.out.println("path = " + aURL.getPath()); System.out.println("query = " + aURL.getQuery()); System.out.println("filename = " + aURL.getFile()); System.out.println("ref = " + aURL.getRef()); } }
这是程序显示的输出:
protocol = http authority = example.com:80 host = example.com port = 80 path = /docs/books/tutorial/index.html query = name=networking filename = /docs/books/tutorial/index.html?name=networking ref = DOWNLOADING