Java 网络编程2---URL与URLConnection
URL
URL(Uniform Resource Locator)统一资源定位符,可以直接使用此类找到互联网上的资源(如一个简单的网页),URL类的常用方法如下表所示。
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | public URL(String spec) throws MalformedURLException | 根据 String 表示形式的地址创建 URL 对象。 |
| 2 | public URL(String protocol,String host,int port,String file) throws MalformedURLException | 创建URL对象,并指定协议protocol,主机host,端口名称port,资源文件名file |
| 3 | public URLConnection openConnection() throws IOException | 返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。 |
| 4 | public final InputStream openStream() throws IOException | 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream |
| 实例:读取的上一篇博客URL地址,下载该博客的源码。 | ||
| 地址:https://blog.csdn.net/qq_21808961/article/details/80848662 |
1 | package java1.net.url; |
控制台输出:
1 | 开始下载博客... |
下载的路基:当前工程路径下
打开下载的html文件
  以上程序运行时,使用URL找到上一篇博客的页面资源,并使用输出重定向把页面中的内容下载下来到本地中。
在以上程序中下载下来的内容全部是页面的HTML代码,HTML(HyperText Mark-up Language),超文本标记语言,是构成网页文档的语言。
URLConnection
URLConnection是封装访问远程网络资源一般方法的类,通过它可以建立与远程服务器的连接,检查远程资源的一些属性,URLConnection的常用方法如下表所示。
| 序号 | 方法 | 描述 |
|---|---|---|
| 1 | public int getContentLength() |
取得内容的长度 |
| 2 | public String getContentType() |
取得内容的类型 |
| 3 | public InputStream getInputStream() |
获取连接的输入流 |
  URLConnection对象可以同拖URL类的openConnection()方法取得,下面通过URLConnection对象去的一个URL的基本信息。 |
||
| 实例:取得URL的基本信息 |
1 | package java1.net.url; |
运行结果:
1 | 内容大小:57283 |
上面连接的是上面我们下载到本地的html文件:上一篇博客.html。如果是使用网络上的其他路径获取的长度可能不正确(urlCon.getContentLength()返回-1),所以为了演示方便就以本地的html文件作为例子。
可以在该上一篇博客.html文件上右键选择属性查看该文件的大小:
可以看到我们获取的长度是对的。