Java教程是为JDK 8编写的。本页面中描述的示例和实践不利用后续版本中引入的改进,并可能使用不再可用的技术。
有关Java SE 9及其后续版本中更新的语言功能的概述,请参阅Java语言变化。
有关所有JDK版本的新功能、增强功能和已删除或弃用选项的信息,请参阅JDK发布说明。
URL是Uniform Resource Locator的缩写。它是指向互联网上资源的引用(地址)。您向您喜欢的Web浏览器提供URL,以便它可以定位互联网上的文件,就像您提供信件上的地址以便邮局可以找到您的通信对象一样。
与互联网交互的Java程序也可以使用URL来查找它们希望访问的互联网资源。Java程序可以使用java.net
包中的一个叫做URL
的类来表示URL地址。
术语URL可能会产生歧义。它可以指互联网地址或Java程序中的URL
对象。当URL的含义需要具体时,本文使用"URL地址"来指代互联网地址,"URL
对象"来指代程序中URL
类的实例。
URL是一个描述如何在互联网上找到资源的字符串。URL有两个主要组成部分:访问资源所需的协议和资源的位置。
在您的Java程序中,您可以创建一个表示URL地址的URL对象。URL对象总是引用绝对URL,但可以根据绝对URL、相对URL或URL组件构造。
不再需要解析URL来获取主机名、文件名和其他信息。有了有效的URL对象,您可以调用其任何访问器方法从URL获取所有这些信息,而无需进行任何字符串解析!
本节展示了您的Java程序如何使用openStream()
方法从URL读取。
如果您想做更多事情而不仅仅是从URL读取,您可以调用URL上的openConnection()
方法进行连接。 openConnection()
方法返回一个URLConnection对象,您可以使用它进行更一般的与URL通信,例如从中读取、向其中写入或查询其中的内容和其他信息。
某些URL(例如许多与cgi-bin脚本连接的URL)允许您(甚至要求您)向URL写入信息。例如,搜索脚本可能需要在执行搜索之前向URL写入详细的查询数据。本节向您展示如何向URL写入以及如何获取结果。