Java读取properties文件中文乱码(已解决)

这篇具有很好参考价值的文章主要介绍了Java读取properties文件中文乱码(已解决)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

初用properties,读取java properties文件的时候如果value是中文,会出现乱码的问题。


1、country.properties文件

在项目的默认路径(src目录)下创建 sk.properties 属性文件(名称可以自定义,扩展名必须为 properties )。

120000=天津市
130100=石家庄市

2、编写读取 properties 属性文件,并输出属性值。


	//从配置文件获取密钥信息
	private static final Properties properties = getProperties();

	private static String getProperties(){
        Properties properties = new Properties();
        try {
        	//生产环境根目录
			FileInputStream inputStream = new FileInputStream("src/main/resources/city.properties");    //TODO 本地测试打开
            properties.load(inputStream);   //TODO 本地测试打开
        } catch (IOException e) {
            e.printStackTrace();
        }
        return properties.getProperty("vehLocationPartitions");
    }

	public void test(){
		String name=properties.getProperty("120000");
        // 输出结果
        System.out.println("name: "+name);
	}

输出结果

天津市

上面的程序执行后的结果会出现中文乱码,因为字节流是无法读取中文的,所以采取reader把inputStream转换成reader用字符流来读取中文。

修改后的代码如下

//从配置文件获取密钥信息
	private static final Properties properties = getProperties();

	private static String getProperties(){
        Properties properties = new Properties();
        try {
        	//生产环境根目录
			FileInputStream inputStream = new FileInputStream("src/main/resources/city.properties");    //TODO 本地测试打开
            properties.load(new InputStreamReader(inputStream));   //TODO 本地测试打开
        } catch (IOException e) {
            e.printStackTrace();
        }
        return properties.getProperty("vehLocationPartitions");
    }

	public void test(){
		String name=properties.getProperty("120000");
        // 输出结果
        System.out.println("name: "+name);
	}

修改后的运行结果

java properties中文乱码,java,java,jvm,servlet


总结

如果此篇文章有帮助到您, 希望打大佬们能关注点赞收藏评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!

参考1文章来源地址https://www.toymoban.com/news/detail-516396.html

到了这里,关于Java读取properties文件中文乱码(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Java文件导出乱码】java导出文件中文名乱码或下划线或百分号解决方法(已解决)附源码

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

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

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

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

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

    2024年02月12日
    浏览(30)
  • 读取application-dev.properties的中文乱码【bug】

    2023-7-30 22:37:46 禁止其他平台发布时删除以下此话 本文首次发布于CSDN平台 作者是CSDN@日星月云 博客主页是https://blog.csdn.net/qq_51625007 禁止其他平台发布时删除以上此话 读取application-dev.properties 编码方式引起中文乱码的bug Encoding配置错误 最好退出IDEA再重新打开 正确配置为如下

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

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

    2024年03月09日
    浏览(47)
  • java中获取配置文件路径中含有中文,出现乱码的情况解决方案

    问题背景: 读取配置文件,但是读到的目录信息是中文乱码的。 第一步: 参考代码如上截图,方法即:读取jdbc配置,获取了配置文件(jdbc.properties)地址,然后加载这个文件读取配置信息,但是获取的文件目录的地址中文转译了。 第二步: 设置编码格式为utf-8,查看重新获

    2024年02月16日
    浏览(34)
  • 在Java中使用FileReader.read()进行读取文件时,为什么乱码?两个方法解决

     以上代码是有可能出现代码输出混乱的情况的,输出效果如下: 可能会出现乱码的问题: 原因可能是文件编码与程序读取时使用的编码不一致。在创建 FileReader 对象时,没有指定文件的编码格式,因此默认使用的是系统默认的编码格式。如果文件中包含非系统默认编码格式

    2024年02月03日
    浏览(38)
  • IDEA中application.properties文件中文乱码

    项目编码格式与IDEA编码格式不一致导致的 在File-Settings-Editor-File Encodings选项中,将Global Encoding,Project Encoding,Default encoding for properties files这三个选项置为一致,可以是GBK或者UTF-8 注:修改完后乱码并不会变成中文,新输出的中文就不会变成?了。

    2024年04月16日
    浏览(31)
  • Java代码读取properties配置文件

    Properties 继承于 Hashtable。表示一个持久的属性集.属性列表中每个键及其对应值都是一个字符串。 HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占,相当于所有线程进行读写时都去竞争一把锁,导致效率非常低下。

    2024年02月02日
    浏览(60)
  • java修改properties文件内容(读取、修改、追加)

    PropertiesConfiguration 是 Apache 帮我们实现按照文件的顺序读取properties文件的类,Properties类能做的它都能做。不仅如此,他还有许多方便实用的附加功能。 工具类: 除此之外,还可以 propsConfig.setEncoding(\\\"utf-8\\\") 设置编码。 需要的maven依赖:

    2024年02月06日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包