解决异常 java.net.URISyntaxException: Illegal character in query at index

java.net.URISyntaxException 表示你在尝试创建一个 URI 对象时,传递了一个非法的 URI 字符串

这个异常通常是因为 URI 字符串中包含了不合法的字符,比如空格、特殊字符等。在 URI 中,某些字符是需要进行编码的,例如空格会被编码为 %20

要解决这个异常,亲测以下几个方法:

检查 URI 字符串 :仔细检查你传递给 new URI() 构造函数的字符串,确保其中不包含非法字符。

对 URI 进行编码 :如果 URI 字符串中包含了特殊字符或空格,你可以使用 Java 提供的 URLEncoder 类对它们进行编码,然后再传递给 new URI()

复制代码
String urlString = "https://example.com/page with space";
String encodedUrlString = URLEncoder.encode(urlString, "UTF-8");
URI uri = new URI(encodedUrlString);

使用 URL :如果你只需要对 URL 进行简单的操作,你可以考虑使用 URL 类,它对 URL 进行了更高层次的封装,并提供了一些方便的方法。

复制代码
URL url = new URL("https://example.com/page with space");
相关推荐
在世修行32 分钟前
从零打造 C# 工业视觉检测系统(七):串口通信 SerialPort 封装与开发
开发语言·c#·modbus rtu·rs232/rs485
AI人工智能+电脑小能手33 分钟前
大白话说Java设计模式-04-工厂方法模式(业务实战篇)
java·设计模式·工厂方法模式·架构设计·代码解耦
BUG指挥官40 分钟前
Sa-Token和Spring Security对比
java·后端·spring
小当家.1051 小时前
深入理解 ReAct Agent:从原理到 Java 实战
java·react.js·agent·react·架构设计·agent设计
geminigoth1 小时前
Spring AI Alibaba 入门开发一(备份)
java·人工智能·spring
Hammer_Hans1 小时前
DFT笔记98
java·开发语言·数据库
古法安卓1 小时前
Android-DeviceStorageMonitorService 流程分析
java·面试·android studio
Java内核笔记2 小时前
Spring Boot 4 拥抱 Jackson 3:包名迁移、配置改名与自动配置源码剖析
java·后端
qq_448011162 小时前
C语言中的野指针和空指针
c语言·开发语言·单片机
程序员黑豆2 小时前
什么是JDK以及JDK都由哪些部分组成呢
java·前端·ai编程