认识IP、认识URL是进行网络编程的第一步。java.net.URL提供了丰富的URL构建方式,并可以通过java.net.URL来获取资源。

一、认识URL

类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

简单的可以把URL理解为包含:协议、主机名、端口、路径、查询字符串和参数等对象。每一段可以独立设置。

应用程序也可以指定一个“相对 URL”,它只包含到达相对于另一个 URL 的资源的足够信息。HTML 页面中经常使用相对 URL.

相对 URL 不需要指定 URL 的所有组成部分。如果缺少协议、主机名称或端口号,这些值将从完整指定的 URL 中继承。

由于 URL 不懂 URL 转义,所以它不会识别同一 URL 的对等编码和解码形式。

注意,URI 类在某些特定情况下对其组成字段执行转义。建议使用 URI 管理 URL 的编码和解码,并使用 toURI() 和 URI.toURL() 实现这两个类之间的转换。

也可以使用 URLEncoder 和 URLDecoder 类,但是只适用于 HTML 形式的编码,它与 RFC2396 中定义的编码机制不同。

(以上介绍来自Java API doc)

二、URL对象的构建

方式很多,可以看看API文档。

三、获取URL指定的资源

下面给个例子,说明如何获取到指定的资源。

import java.io.*;

import java.net.URL;

import java.net.URLConnection;

public class TestURL {

public static void main(String[] args) throws IOException {

test4();

test3();

test2();

test();

}

/**

* 获取URL指定的资源。

*

* @throws IOException

*/

public static void test4() throws IOException {

URL url = new URL("");

//获得此 URL 的内容。

Object obj = url.getContent();

System.out.println(obj.getClass().getName());

}

/**

* 获取URL指定的资源

*

* @throws IOException

*/

public static void test3() throws IOException {

URL url = new URL("http://www.hrtsea.com/down/soft/45.htm");

//返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。

URLConnection uc = url.openConnection();

//打开的连接读取的输入流。

InputStream in = uc.getInputStream();

int c;

while ((c = in.read()) != -1)

System.out.print(c);

in.close();

}

java uri用法_javaurl类的用法相关推荐

  1. php 类常量用法,php类常量用法实例分析

    这篇文章主要介绍了php类常量用法,实例分析了php中类常量的概念.特性与相关使用技巧,需要的朋友可以参考下 本文实例讲述了php类常量用法.分享给大家供大家参考.具体如下: '; echo Foo: ...

  2. python accessiblechildren用法_python类继承用法实例分析

    本文实例讲述了python类继承用法.分享给大家供大家参考.具体如下: help('object') # test class Class1(object): """ C ...

  3. Java中关于时间类的用法

    java.util.Date import java.util.Date;public class DateTest {public static void main(String[] args) { ...

  4. java 初始化duration_java11教程--类Duration用法

    基于时间的时间量,例如'34.5秒'. 此类以秒和纳秒为单位模拟时间量或时间量. 可以使用其他基于持续时间的单位访问它,例如分钟和小时. 此外, DAYS单元可以使用,并且被视为完全等于24小时,因此 ...

  5. css class选择器用法,CSS类选择器用法简明介绍

    你对CSS类选择器的使用是否熟悉,这里向大家描述一下,在CSS中,CSS类选择器通常以一个点号显示,需要注意一点的就是不要使用数字起始类名!因为它无法在Mozilla或Firefox中起作用. CSS ...

  6. java path类_基于java Files类和Paths类的用法(详解)

    Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream; import java.nio.file.FileSystem ...

  7. JAVA Servlet API简介及接口与类的用法

    本章介绍了Java Servlet API中的主要的接口与类的用法,并且介绍了它们的生命周期.表4-1 对接口与类的作用与生命周期作了归纳.这些接口与类的生命周期都由Servlet容器来控制,容器会在 ...

  8. java中的 FileWriter类 和 FileReader类的一些基本用法

    java中的 FileWriter类 和 FileReader类的一些基本用法 1,FileWriter类(字符输出流类) 构造方法:FileWriter fw = new FileWriter(St ...

  9. java中日历类的用法_java日期类的用法

    java日期类的用法 不管你是处理财务交易还是计划着下一步的行动,你都要知道怎样在Java中建立,使用和显示日期.这需要你简单的查阅一下相应类的API参考:一个日期可以创建3个相关类的对象.这篇文章告 ...

最新文章

  1. ef mysql 事务_事务 - EF Core | Microsoft Docs
  2. 重学《动手学深度学习》转
  3. mini-uboot 启动过程简单分析
  4. OpenGL着色器GLSL
  5. php mysql 登录注销_PHP与MYSQL实现用户登录注销
  6. 基于vue2.0实现音乐/视频播放进度条组件的思路及具体实现方法+代码解释
  7. ASP.NET关于WebPages的一点总结
  8. 1085 Perfect Sequence(25 分)
  9. android ble 写失败,Android低功耗蓝牙BLE写入数据很大几率会失败 求解
  10. lopatkin俄大神精简中文系统Windows 10 Pro 18363.592 19H2 Release x86-x64 ZH-CN SM
  11. 保存的离线网页总是自动跳转
  12. matlab x~=0
  13. C语言报错:「error」Id returned 1 exit status
  14. connect的中文意思是什么_connect是什么意思
  15. acwing1017-怪盗基德的滑翔翼
  16. pycharm中出现pytest_pytest文档3-pycharm运行pytest
  17. bedtools2安装报错:fatal error: zlib.h
  18. RK3288刷机教程:安装Ubuntu 16.04
  19. unity实现吸附功能的效果
  20. 计算机科技英语写作,计算机技术在英文写作课中的应用

热门文章

  1. 你好你好你好你好你好你好你好你好
  2. HTML(二) -- 表格设计
  3. 电动汽车整车控制SIMULINK仿真
  4. 在java中jkd中文意思_Java JDK是什么意思?有什么作用?
  5. 分布式与传统的对比简介
  6. “算法”也有价值观?
  7. Python——下载数据集时报错解决:ContentTooShortError: <urlopen error retrieval incomplete: got only XX out of XX
  8. Kafka入门和使用
  9. 关于UniApp启动到微信小程序工具提示找不到app.json
  10. C++ 11 14 RAII经典用法