java中获取配置文件路径中含有中文,出现乱码的情况解决方案

这篇具有很好参考价值的文章主要介绍了java中获取配置文件路径中含有中文,出现乱码的情况解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题背景:读取配置文件,但是读到的目录信息是中文乱码的。

java读文件中文是乱码,java,开发语言

第一步:

参考代码如上截图,方法即:读取jdbc配置,获取了配置文件(jdbc.properties)地址,然后加载这个文件读取配置信息,但是获取的文件目录的地址中文转译了。

第二步:

设置编码格式为utf-8,查看重新获取的地址是否可以加载:

ClassLoader classLoader = JdbcUtils.class.getclassLoader();

Url res = classloader.getResource(“jdbc.properties”);

String path = res.getPath();

Path = java.net.URLDecoder.decode(path,”utf-8”);

修改代码设置文件的编码方式如上后,发现这样加载过后虽然不乱码了,但是有两个其他问题,第一:项目中含有“+”可能被空格替换了,第二:多了/out/production/的目录结构。

第三步:解决有‘+’的问题

String path = res.getPath();

path = java.net.URLDecoder.decode(res.getPath(),"utf-8"); //解决路径包含中文的情况

String path2 = JDBCUtils.class.getResource("/").toURI().getPath();
这样可以原样保留‘+’号,但是还是未解决目录中多增加的/out/production/的目录结构。

第四步:

获取文件目录的所有方式

java读文件中文是乱码,java,开发语言

(这里的代码,可以去参考链接2里面复制)

当前,我采用了第二种获取项目路径的方式。

第五步:

修改后的代码为:

java读文件中文是乱码,java,开发语言

 代码参考:

Properties pro = new Properties();//获取src路径下的文件的方式--->ClassLoader 类加载器

ClassLoader classLoader = JDBCUtils.class.getClassLoader();

File directory = new File("");

String courseFile1 = directory.getCanonicalPath();

String courseFile2 = courseFile1 + "\\src\\jdbc.properties";

System.out.println(courseFile2);

pro.load(new FileReader(courseFile2));

仅供初学者参考,因为项目中给的demo无法运行,所以修改了些。但是在实际项目中这么写,还是有待商榷的。配置服务器的时候乱码,等我我学到了再说。。。

2023.6.16补充:

我看使用InputStream也可以获取,方法更简单。

Properties pro = new Properties();
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("jdbc.properties");
pro.load(is);
url = pro.getProperty("url");
user = pro.getProperty("user");

。。。。

备注:我想和学后台和会后台的交个朋友,有想加我的初学者私聊我哈。

参考阅读;文章来源地址https://www.toymoban.com/news/detail-596721.html

有中文“+”号的解决办法:

java 读取文件路径空格、“+”和中文的处理_路径上有+号_乐观男孩的博客-CSDN博客

Java中获取类加载路径和项目根路径的5种方法:

https://codeleading.com/article/6780158525/

到了这里,关于java中获取配置文件路径中含有中文,出现乱码的情况解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java获取Jar、War包路径,并生成可编辑修改的本地配置文件

    本地的可修改配置文件的编写理应是一个很常用的功能,但由于数据库的存在,它鲜少被提及,大多数我们直接存储到数据库中了。 以至于现今,除了没接触数据库的新手时常使用它以外,它没有太多的出场机会。 也因此,其实很多人不太了解其中的存储机制以及可能存在

    2024年01月25日
    浏览(38)
  • Java读取properties文件中文乱码(已解决)

    初用properties,读取java properties文件的时候如果value是中文,会出现 乱码 的问题。 在项目的默认路径(src目录)下创建 sk.properties 属性文件(名称可以自定义,扩展名必须为 properties )。 上面的程序执行后的结果会出现中文乱码,因为字节流是无法读取中文的,所以采取read

    2024年02月11日
    浏览(26)
  • Java下载excel文件名中文乱码解决

    我是一名充满激情的程序员,💻希望和大家一起学习进步!我热爱编程,对技术充满好奇心和求知欲! 🗣️无论你是新手还是老手,都能从我的博客中获得有价值的内容! 🚀让我们一起努力,成为更优秀的程序员吧!💪💻 当使用Java下载Excel文件时,有时会遇到文件名中

    2024年02月07日
    浏览(39)
  • Java文件下载中文文件名乱码的解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作

    2024年02月13日
    浏览(35)
  • 解决.properties文件中文读取乱码问题(idea Java)

    1、原始代码 未加读取.properties文件的规则 debug运行截图: 2、加入.properties读取规则 debug截图: 至此 问题已解决!

    2024年02月16日
    浏览(25)
  • Java中properties文件中的中文乱码问题

    问题代码:    期望输出应该和上面文件的内容一样,结果中文内容输出的是一堆乱码:  1 张无忌= minmin 2 周芷若= miejue 3 赵敏= wuji 4 admin=123456   可如果将上面  properties.load(new FileInputStream(\\\"day10-special-file-log\\\\src\\\\users.properties\\\"));换成 properties.load(new FileRead

    2024年02月14日
    浏览(26)
  • Java下载文件,中文文件名乱码问题解决(文件名包含很多%)

    一般情况下,大家都是这样: 其实乱码就是乱在;filename=\\\" + fileName这里,对文件名的编码设定上。 使用URLEncoder.encode(filepath,\\\"UTF-8\\\")虽然可以解决在提示下载框中正确显示汉字文件名的问题,并且在选择保存,然后打开的情况下,文件名称也可以正确的显示。 但是在提示下载框

    2024年02月12日
    浏览(30)
  • 【Java文件导出乱码】java导出文件中文名乱码或下划线或百分号解决方法(已解决)附源码

    【 写在前面 】其实导出这个功能在业务需求中是很多的,今天我就先不重点介绍导出实现过程,主要给大家讲解一下导出文件时候,文件名是中文的情况下会出现乱码、下划线等现象该如何去解决,如何理性分析。 涉及知识点 :java文件导出,中文名乱码,URLEncoder,java下载

    2024年02月04日
    浏览(35)
  • java实现浏览器下载附件时文件名中文乱码解决方案

    方案一:URLEncoder 解决 IE 和 谷歌浏览器的附件中文名问题。 如果客户端浏览器是 IE 浏览器 或者 是谷歌浏览器。我们需要使用 URLEncoder 类先对中文名进行 UTF-8 的编码 操作。 因为 IE 浏览器和谷歌浏览器收到含有编码后的字符串后会以 UTF-8 字符集进行解码显示。 方案二:B

    2024年03月09日
    浏览(47)
  • eclipse导入项目出现中文乱码

    eclipse导入java项目的时候有时会出现乱码问题,很苦恼,网上找了很多方法都没用,所以得自己记录一下。导入项目可参考链接 eclipse中导入java项目-CSDN博客 1、点击 Windows -- Pereferences 2、依次点击下图内流程 3、看到下面的就修改成功了 本文为学习笔记,所参考文章均已附上

    2024年03月14日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包