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
文件上右键选择属性查看该文件的大小:
可以看到我们获取的长度是对的。