URL 概念
URL 是统一资源定位符(Uniform Resource Locator)
的简称,它表示 Internet 上某一资源的地址。
通过 URL 用 户可以访问各种网络资源,
比如常见的 WWW 以及 FTP 站点。
浏览器可以通过解析给定的 URL 在网络上查找相
应的文件或其他资源。
URL 的语法格式如下所示。
protocol://resourceName
协议名(protocol)指明获取资源所使用的传输协议,
如 HTTP、FTP 和 file 等,资源名(resourceName)
则 应该是资源的完整地址,包括主机名、端口号
、文件名或文件内部的一个引用。下面是一些简单
的 URL 示例。
http://www.sun.com/ 协议名:
//主机名 http://localhost:8080/Test/admin/login.jsp 协议名://机器名:
端口号/文件名
URLConnection 类
完成了 URL 的定义,接下来就可以获得 URL 的通信连接。在 java.net 包中,定义了专门的 URLConnection 类 来表示与 URL 建立的通信连接,URLConnection 类的对象使用 URL 类的 openConnection() 方法获得。
常用方法:
-
public void setDoInput(boolean input)
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输入,则将 DoInput 标志设置 为 true;如果不打算使用,则设置为 false。默认值为 true。 -
public void setDoOutput(boolean output)
URL 连接可用于输入和/或输出。如果打算使用 URL 连接进行输出,则将 DoOutput 标志设置 为 true;如果不打算使用,则设置为 false。默认值为 false。 -
setRequestProperty(String key,String value)
设置由键值对指定的常规请求属性。如果具有密钥的属性已存在,则旧值将被新值覆盖。 -
public InputStream getInputStream() throws IOException
返回 URL 的输入流,用于读取资源 -
public OutputStream getOutputStream() throws IOException
返回 URL 的输出流, 用于写入资源。 -
int getContentLength():
返回头部 content-length 字段值 -
getResponseCode():
返回服务器发送的 HTTP 状态码。
HttpURLConnection 类
如果 URL 中使用的网络协议为 HTTP 协议 或 HTTPS 协议, 就可以将 URLConnection 类型强制转换为 HttpURLConnection.
常用方法: setRequestMethod(String method): 设置 URL 请求的方法,它是 HTTP 方法 GET,POST,HEAD,OPTIONS,PUT,DELETE 和 TRACE 之一。默认方法是 GET(注意:这里方法类型必须大写)。
关闭连接
要关闭连接,需要使用从连接中获取的 InputStream 或 OutputStream 对象 , 在这两 个对象上调用 close()方法。这样做可以释放与 URLConnection 实例关联的网络资源。
小技巧
如何获取文件名称? URL url = new URL(“网址”); String name = url.getFile(); //获取文件路径+名称, 并从最后一个/开始截取, 截取到结尾 name = name.substring(name.lastIndexOf("/")+1,name.length());