Java 教程
- Java - 首页
- Java - 概述
- Java - 历史
- Java - 特性
- Java 与 C++
- JVM - Java 虚拟机
- Java - JDK 与 JRE 与 JVM
- Java - Hello World 程序
- Java - 环境搭建
- Java - 基本语法
- Java - 变量类型
- Java - 数据类型
- Java - 类型转换
- Java - Unicode 系统
- Java - 基本运算符
- Java - 注释
- Java - 用户输入
- Java - 日期和时间
Java 控制语句
- Java - 循环控制
- Java - 决策制定
- Java - If-else
- Java - Switch
- Java - For 循环
- Java - For-Each 循环
- Java - While 循环
- Java - do-while 循环
- Java - Break
- Java - Continue
面向对象编程
- Java - OOPs 概念
- Java - 对象和类
- Java - 类属性
- Java - 类方法
- Java - 方法
- Java - 变量作用域
- Java - 构造函数
- Java - 访问修饰符
- Java - 继承
- Java - 聚合
- Java - 多态
- Java - 重写
- Java - 方法重载
- Java - 动态绑定
- Java - 静态绑定
- Java - 实例初始化块
- Java - 抽象
- Java - 封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java - 静态类
- Java - 匿名类
- Java - 单例类
- Java - 包装类
- Java - 枚举
- Java - 枚举构造函数
- Java - 枚举字符串
Java 内置类
Java 文件处理
Java 错误和异常
- Java - 异常
- Java - try-catch 块
- Java - try-with-resources
- Java - 多重捕获块
- Java - 嵌套 try 块
- Java - Finally 块
- Java - throw 异常
- Java - 异常传播
- Java - 内置异常
- Java - 自定义异常
Java 多线程
- Java - 多线程
- Java - 线程生命周期
- Java - 创建线程
- Java - 启动线程
- Java - 线程连接
- Java - 线程命名
- Java - 线程调度器
- Java - 线程池
- Java - 主线程
- Java - 线程优先级
- Java - 守护线程
- Java - 线程组
- Java - 关闭钩子
Java 同步
Java 网络
- Java - 网络
- Java - 套接字编程
- Java - URL 处理
- Java - URL 类
- Java - URLConnection 类
- Java - HttpURLConnection 类
- Java - Socket 类
- Java - 泛型
Java 集合
Java 接口
Java 数据结构
Java 集合算法
高级 Java
- Java - 命令行参数
- Java - Lambda 表达式
- Java - 发送电子邮件
- Java - Applet 基础
- Java - Javadoc 注释
- Java - 自动装箱和拆箱
- Java - 文件不匹配方法
- Java - REPL (JShell)
- Java - 多版本 Jar 文件
- Java - 私有接口方法
- Java - 内部类菱形运算符
- Java - 多分辨率图像 API
- Java - 集合工厂方法
- Java - 模块系统
- Java - Nashorn JavaScript
- Java - Optional 类
- Java - 方法引用
- Java - 函数式接口
- Java - 默认方法
- Java - Base64 编码解码
- Java - Switch 表达式
- Java - Teeing 收集器
- Java - 微基准测试
- Java - 文本块
- Java - 动态 CDS 归档
- Java - Z 垃圾回收器 (ZGC)
- Java - 空指针异常
- Java - 打包工具
- Java - 密封类
- Java - 记录类
- Java - 隐藏类
- Java - 模式匹配
- Java - 紧凑数字格式化
- Java - 垃圾回收
- Java - JIT 编译器
Java 杂项
- Java - 递归
- Java - 正则表达式
- Java - 序列化
- Java - 字符串
- Java - 进程 API 改进
- Java - 流 API 改进
- Java - 增强的 @Deprecated 注解
- Java - CompletableFuture API 改进
- Java - 流
- Java - 日期时间 Api
- Java 8 - 新特性
- Java 9 - 新特性
- Java 10 - 新特性
- Java 11 - 新特性
- Java 12 - 新特性
- Java 13 - 新特性
- Java 14 - 新特性
- Java 15 - 新特性
- Java 16 - 新特性
Java API 和框架
Java 类参考
- Java - Scanner
- Java - 数组
- Java - 字符串
- Java - Date
- Java - ArrayList
- Java - Vector
- Java - Stack
- Java - PriorityQueue
- Java - LinkedList
- Java - ArrayDeque
- Java - HashMap
- Java - LinkedHashMap
- Java - WeakHashMap
- Java - EnumMap
- Java - TreeMap
- Java - IdentityHashMap
- Java - HashSet
- Java - EnumSet
- Java - LinkedHashSet
- Java - TreeSet
- Java - BitSet
- Java - Dictionary
- Java - Hashtable
- Java - Properties
- Java - Collection
- Java - Array
Java 有用资源
Java - URL 类
什么是 URL?
URL 代表统一资源定位符,表示 万维网 上的资源,例如 网页 或 FTP 目录。
本节将向您展示如何编写与 URL 通信的 Java 程序。URL 可以分解成以下几个部分:
protocol://host:port/path?query#ref
协议示例包括 HTTP、HTTPS、FTP 和文件。路径也称为文件名,主机也称为权限。
示例
以下是协议为 HTTP 的网页的 URL:
https://www.amrood.com/index.htm?language=en#j2se
请注意,此 URL 未指定端口,在这种情况下,将使用协议的默认端口。对于 HTTP,默认端口为 80。
Java URL 类
URL 类是 java.net 包的一部分。URL 类表示统一资源定位符 (URL)。其中,URL 用于识别在线资源(例如:网页、网页中使用的图像、视频、文件等)。
URL 类提供了几个构造函数和方法来创建、解析和操作 URL(或 URL 对象)。
URL 类声明
public final class URL extends Object implements Serializable
URL 类构造函数
java.net.URL 类表示一个 URL,并有一套完整的用于在 Java 中操作 URL 的方法。
URL 类有几个用于创建 URL 的构造函数,包括以下内容:
序号 | 构造函数和描述 |
---|---|
1 | public URL(String protocol, String host, int port, String file) throws MalformedURLException 通过组合给定的部分创建一个 URL。 |
2 | public URL(String protocol, String host, int port, String file, URLStreamHandler handler) throws MalformedURLException 通过组合给定的部分以及在指定上下文中指定的处理程序来创建一个 URL。 |
3 | public URL(String protocol, String host, String file) throws MalformedURLException 与上一个构造函数相同,只是使用了给定协议的默认端口。 |
4 | public URL(String url) throws MalformedURLException 从给定的字符串创建一个 URL。 |
5 | public URL(URL context, String url) throws MalformedURLException 通过解析 URL 和字符串参数组合创建一个 URL。 |
6 | public URL(URL context, String url, URLStreamHandler handler) throws MalformedURLException 通过解析 URL 和字符串参数以及在指定上下文中指定的处理程序来创建一个 URL。 |
URL 类方法
URL 类包含许多用于访问所表示的 URL 的各个部分的方法。URL 类中的一些方法包括以下内容:
序号 | 方法和描述 |
---|---|
1 |
此方法比较此 URL 与另一个对象的相等性。 |
2 |
此方法返回 URL 的权限。 |
3 |
此方法返回此 URL 的内容。 |
4 | public Object getContent(Class<?>[] classes) 此方法返回此 URL 的内容。 |
5 |
此方法返回 URL 协议的默认端口。 |
6 |
此方法返回 URL 的文件名。 |
7 |
此方法返回 URL 的主机。 |
8 |
此方法返回 URL 的路径。 |
9 |
此方法返回 URL 的端口。 |
10 |
此方法返回 URL 的协议。 |
11 |
此方法返回 URL 的查询部分。 |
12 |
此方法返回 URL 的引用部分。 |
13 |
此方法返回 URL 的 userInfo 部分。 |
14 |
此方法创建并返回一个适合哈希表索引的整数。 |
15 | public URLConnection openConnection() 此方法返回一个 URLConnection 实例,该实例表示与 URL 引用的远程对象的连接。 |
16 | public URLConnection openConnection(Proxy proxy) 此方法的作用与 openConnection() 相同,只是连接将通过指定的代理进行;不支持代理的协议处理程序将忽略代理参数并建立正常连接。 |
17 | public InputStream openStream() 此方法打开到此 URL 的连接,并返回一个 InputStream 用于读取该连接。 |
18 | public boolean sameFile(URL other) 此方法比较两个 URL,不包括片段组件。 |
19 | public static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac) 此方法设置应用程序的 URLStreamHandlerFactory。 |
20 | public String toExternalForm() 此方法构造并返回此 URL 的字符串表示形式。 |
21 |
此方法构造并返回此 URL 的字符串表示形式。 |
22 |
此方法返回与此 URL 等效的 URI。 |
java.lang.Object
URL 类的示例
以下 URLDemo 程序演示了 URL 的各个部分。在命令行上输入 URL,URLDemo 程序输出给定 URL 的每个部分。
// File Name : URLDemo.java import java.io.IOException; import java.net.URL; public class URLDemo { public static void main(String [] args) { try { URL url = new URL("https://tutorialspoint.com/index.htm?language=en#j2se"); System.out.println("URL is " + url.toString()); System.out.println("protocol is " + url.getProtocol()); System.out.println("authority is " + url.getAuthority()); System.out.println("file name is " + url.getFile()); System.out.println("host is " + url.getHost()); System.out.println("path is " + url.getPath()); System.out.println("port is " + url.getPort()); System.out.println("default port is " + url.getDefaultPort()); System.out.println("query is " + url.getQuery()); System.out.println("ref is " + url.getRef()); } catch (IOException e) { e.printStackTrace(); } } }
此程序的示例运行将产生以下结果:
输出
URL is https://tutorialspoint.com/index.htm?language=en#j2se protocol is https authority is www.tutorialspoint.com file name is /index.htm?language=en host is www.tutorialspoint.com path is /index.htm port is -1 default port is 443 query is language=en ref is j2se