`
minfirefox
  • 浏览: 84563 次
  • 性别: Icon_minigender_1
  • 来自: 太原
社区版块
存档分类
最新评论

Java读取properties文件中文乱码问题的解决

阅读更多
Java直接读取properties文件时,中文会是乱码,这时可以用Java\jdk1.x.x\bin\native2ascii.exe工具。
例如,把f1.properties转换成f2.properties。

在cmd的当前目录下输入
native2ascii -encoding gbk f1.properties f2.properties

转换前f1.properties:
#编号=描述
cn=中国

转换后f2.properties:
#\u7f16\u53f7=\u63cf\u8ff0
cn=\u4e2d\u56fd


这样Java程序就可以正确识别中文了!
	Properties prop=new Properties();      
	InputStream inputStream=new FileInputStream("E:\\f2.properties");      
	prop.load(inputStream);      
	String title=prop.getProperty("cn");   
	System.out.println(title);

转换前运行结果:
???ú
转换后运行结果:
中国




分享到:
评论
4 楼 hesy_007 2013-05-28  
zhongzhai 写道
pig345 写道
实在忍不住了,网上太多这样的解决方案,可惜全部都是错误的(起码不是最优的)。
如果每次都用native2ascii.exe转换,麻烦先不说,转换完后的文件完全不可读!!!这基本上是不可忍受的!(虽然也能用native2ascii.exe转换回来,但 多 麻 烦 阿!)

难道大家都没有仔细学过java.io这个包?
(当年初学java时看过,年代久远,具体的忘记了,大概是:Reader/Write是包含处理编码文本的,而InputStream/OutputStream只是处理2进制数据)

正确解决方案
Properties prop=new Properties();       
prop.load(new InputStreamReader(new FileInputStream("E:\\f2.properties")));       



好样的~谢谢啊~

一楼的解决方案才是正解,什么转换为unicode的方法,无论是用native2ascii.exe,还是用eclispe提供的功能来转换,都只是治标不治本的。
3 楼 minfirefox 2011-08-29  
zhongzhai 写道



好样的~谢谢啊~


这两个方法都不用了,直接在MyEclipse中编辑汉字,保存时自动保存为\u4e2d\u56fd码了!
2 楼 zhongzhai 2011-08-29  
pig345 写道
实在忍不住了,网上太多这样的解决方案,可惜全部都是错误的(起码不是最优的)。
如果每次都用native2ascii.exe转换,麻烦先不说,转换完后的文件完全不可读!!!这基本上是不可忍受的!(虽然也能用native2ascii.exe转换回来,但 多 麻 烦 阿!)

难道大家都没有仔细学过java.io这个包?
(当年初学java时看过,年代久远,具体的忘记了,大概是:Reader/Write是包含处理编码文本的,而InputStream/OutputStream只是处理2进制数据)

正确解决方案
Properties prop=new Properties();       
prop.load(new InputStreamReader(new FileInputStream("E:\\f2.properties")));       



好样的~谢谢啊~
1 楼 pig345 2010-07-31  
实在忍不住了,网上太多这样的解决方案,可惜全部都是错误的(起码不是最优的)。
如果每次都用native2ascii.exe转换,麻烦先不说,转换完后的文件完全不可读!!!这基本上是不可忍受的!(虽然也能用native2ascii.exe转换回来,但 多 麻 烦 阿!)

难道大家都没有仔细学过java.io这个包?
(当年初学java时看过,年代久远,具体的忘记了,大概是:Reader/Write是包含处理编码文本的,而InputStream/OutputStream只是处理2进制数据)

正确解决方案
Properties prop=new Properties();       
prop.load(new InputStreamReader(new FileInputStream("E:\\f2.properties")));       

相关推荐

    JAVA 解决Properties文件保存中文乱码

    总结,解决Java中Properties文件中文乱码问题的关键在于正确指定文件的编码。无论是保存还是读取,都需要确保与文件实际的编码一致。在处理这类问题时,了解和掌握不同的API以及它们的用法是至关重要的,这样才能...

    eclipse下properties文件中文乱码的解决方案

    ### Eclipse下Properties文件中文乱码解决方案详析 在IT开发领域,尤其是使用Eclipse作为集成开发环境(IDE)的开发者,经常会遇到一个令人头疼的问题——Properties文件中的中文字符出现乱码。这一现象不仅影响...

    java 读取properties配置文件内容乱码

    NULL 博文链接:https://liuzidong.iteye.com/blog/776637

    Java Properties 解决中文乱码和顺序读写.docx

    确保IDE(如IntelliJ IDEA或Eclipse)设置文件编码为UTF-8,同时在读取Properties文件时,通过`InputStreamReader`指定正确的字符集,例如`UTF-8`,避免乱码出现。 例如,以下是一个简单的示例,演示如何读取包含...

    idea中.properties文件中文显示乱码问题的解决 文件中文乱码1

    总结,解决IntelliJ IDEA中`.properties`文件中文显示乱码的问题,关键在于确保文件编码与IDE设置相匹配,并且可能需要调整IDE的默认编码设置。通过以上步骤,大多数情况下的乱码问题都能得到解决。如果问题依然存在...

    java properties文件中文转化

    当我们在properties文件中直接使用中文时,Java在读取时可能会出现乱码。为了解决这个问题,我们可以使用两种策略: 1. 文件编码转换:在写入properties文件时,使用支持中文的编码,如UTF-8。在读取时,需要指定...

    读取properties文件内容

    ConfigFile configfile = ConfigFile.getInstance("ipConfig123.properties"); String ip = configfile.getkeyvalue("ip"); 可以取出ipConfig123.properties 文件中IP的内容

    解决Properties写中文乱码

    因此,我们需要确保在编写Properties文件时,编辑器使用与Java读取时一致的编码格式。 为了解决这个问题,可以采用以下策略: 1. **设置Java程序读写Properties时的编码**:在使用`Properties.load()`和`...

    Java读取properties配置文件时,出现中文乱码的解决方法

    总之,解决Java读取`properties`文件时的中文乱码问题的关键在于明确指定正确的文件编码。通过在代码中设置合适的编码,以及注意文件保存和编辑的编码设置,可以有效地避免这类问题。同时,保持良好的编程习惯和项目...

    android中读取properties文件

    在Android开发中,读取`properties`文件是一个常见的任务,主要用于存储配置信息或者与Java中的`.properties`文件进行交互。`.properties`文件是一种简单的键值对格式,常用于跨平台的配置存储。以下是对这个主题的...

    Java读写.properties文件解决中文乱码问题

    本篇文章将深入探讨如何解决Java读写.properties文件时的中文乱码问题。 首先,了解.properties文件的特性。这种文件的默认编码通常是ISO-8859-1,它不支持中文字符。因此,当文件中含有中文时,必须明确指定读写时...

    spring boot使用i18n时properties文件中文乱码问题的解决方法

    Spring Boot 使用 i18n 时 properties 文件中文乱码问题的解决方法 Spring Boot 是一个流行的 Java 框架,用于快速开发 Web 应用程序。然而,在使用 Spring Boot 时,遇到中文乱码问题的可能性很高,特别是在使用 ...

    Java读取资源文件时内容过长与换行的处理

    3. **编码问题**:在读取properties文件时,要注意文件的编码格式,避免出现乱码等问题。 4. **资源关闭**:使用完InputStream后要及时关闭,防止资源泄露。 #### 四、总结 在Java中读取资源文件时,如果内容过长...

    java读取properties文件的方法实例分析

    本篇文章将深入探讨如何在Java中读取`.properties`文件,无论它们位于项目内部还是外部。 1. **不在项目中读取.properties文件** 当`.properties`文件位于项目的外部时,我们需要使用文件系统路径来访问它。下面...

    Java关于中文乱码问题的多种解决方法

    总的来说,解决Java中的中文乱码问题需要从多方面考虑,包括文件操作、网络通信、数据库交互、IDE配置、字符串转换等多个环节。理解字符集的概念,合理设置编码,是避免乱码的关键。在实际开发中,养成良好的编码...

    JAVA常见中文乱码问题解决方法

    Java编程语言在处理中文字符时可能会遇到乱码问题,这主要源于Java的源代码编码、JVM处理class文件以及不同操作系统、数据库系统之间的编码不一致。本文深入剖析了Java中文问题的根源,并提供了相应的解决方案。 一...

    Java读写properties文件解决中文乱码问题.docx

    Java读写properties文件解决中文乱码问题 Java读写properties文件是在Java开发中一种常见的配置文件读写方式,但是在读写properties文件时,经常会遇到中文乱码问题。下面将详细介绍Java读写properties文件解决中文...

    java操作properties方法

    1. **读取Properties文件**:使用`Properties`类的`load()`方法可以从输入流中加载`.properties`文件内容。例如,在`readPropertiesFile`方法中,通过`FileInputStream`创建输入流,并将其传递给`properties.load...

    Java .properties中文资源批量转换工具和用法

    为了解决这个问题,开发人员通常需要使用特定的工具来批量处理和转换`.properties`文件,以确保它们正确地支持中文字符。 本话题将介绍一种Java `.properties`中文资源批量转换工具的使用方法,帮助开发者高效地...

    Java开发乱码问题解决方法汇总

    Java开发乱码问题解决方法汇总 Java开发中乱码问题是非常常见的问题之一,而解决这些问题需要具备一定的技术知识和经验。在本文中,我们将总结一些常见的Java开发乱码问题解决方法,希望能够为读者提供帮助。 1. ...

Global site tag (gtag.js) - Google Analytics