Java关于读取到的文件路径显示乱码的原因及解决方法(初学者)

前言

在我的上一篇文章 (Java关于获取当前运行文件的路径时遇到的困难及解决方法(初学者))中,我们在文章末尾出现了一个读取到的路径显示乱码的问题。其实这不叫乱码,这是 URL 编码,就像是 \u6211\u7231\u4e2d\u534e 一样,我们认不出来是什么,但是计算机却认得出来这是 我爱中华 的意思,这是同样一个道理。

那我们现在就想办法将上一篇文章的 URL 编码(/E:/eclipse/HomeWorks/%e6%88%91%e7%9a%84%e5%b7%a5%e5%85%b7/out/production/%e6%88%91%e7%9a%84%e5%b7%a5%e5%85%b7/)以我们认识的形式来输出。

正题

请看思路

1.首先,要解析这串字符串,我们需要有一个字符串接收它。我们先定义字符串。
2.我们导入 net.URLDecoder 包,使用这个包下的 decode 方法,按照 API 的提示传入两个参数,第一个要解析的字符串,第二个是解析的编码。
		注意:使用这个方法时要抛出 UnsupportedEncodingException 异常(不支持编码异常)
		
3.按照 API 的提示,这个方法返回的是一个字符串,所以我们需要用一个字符串来接收它。
4.最后打印出来,对比看看。

思路很少,代码也少。我们现在按照这个思路来试试。

		String string = "E:/eclipse/HomeWorks/%e6%88%91%e7%9a%84%e5%b7%a5%e5%85%b7/out/production/%e6%88%91%e7%9a%84%e5%b7%a5%e5%85%b7/";//要解析的字符串
		String url = URLDecoder.decode(string, "utf-8");//调用方法解析字符串
		
		//看看两者的对比
		System.out.println("解析前: " + string);
		System.out.println("解析后: " + url);

打印的结果如下:

E:/eclipse/HomeWorks/%e6%88%91%e7%9a%84%e5%b7%a5%e5%85%b7/out/production/%e6%88%91%e7%9a%84%e5%b7%a5%e5%85%b7/
E:/eclipse/HomeWorks/我的工具/out/production/我的工具/

后言

编者的所有文章都是编写代码+编写博客两者同时进行的,所出现过的错误我也会一一写在博客里供读者借鉴、探讨。我会继续努力学习,争取我少犯错误,读者少因此而走弯路。

非常感谢您的观看!!您的收获和支持是我的最大动力。再次衷心感谢!!!

你可能感兴趣的:(编码格式,java)