当前位置:  技术问答>java相关

Properties类的中文问题,请高手回答,高分送上

    来源: 互联网  发布时间:2015-08-31

    本文导语:  String name = "中文"; //此test.txt文件已经存在 File test = new File ("c:\test.txt"); File temp = new File ("c:\temp.txt"); FileInputStream fin = new FileInputStream(test); FileOutputStream fout = new FileOutStream(fout); Properties prop = new Properties(); prop....


String name = "中文";
//此test.txt文件已经存在
File test = new File ("c:\test.txt");
File temp = new File ("c:\temp.txt");
FileInputStream fin = new FileInputStream(test);
FileOutputStream fout = new FileOutStream(fout);

Properties prop = new Properties();
prop.load(fin);
prop.put("Name",name);
prop.store(fout,"");

fin.close();
fout.close();
test.delete();
temp.renameTo(test);

问题就在name为中文,在生成的test.txt文件中成了:
name=u4E2Du6587

我想在test.txt中看到的是:name=中文
这样可以实现吗,应该如何实现呢?因为我想这个文件内容是一个key一个value值,我只想到用Properties类去实现。
不知道有没有其他的方法将这样文件创建这种文件呢??

|
告诉你一个不幸的消息,properties的load方法是有问题的。我曾经研究过这个问题。我跟踪load方法,一直到一个class中,具体我记不清了。好象是因为load是以ISO8859-1来FileInputStream,但实际FileInputStream在中文环境下是“GBK"。解决办法是:不采用读文本的方式,而是通过实现接口ListResourceBoundle,生成的class就可以被看成是一个文本。具体参看ResourceBoudle的使用。

|
转换一下编码试试
private String toChinese(String s){
String temp = "";
try{
         temp = new String(s.getBytes("ISO8859-1"),"GBK");
}
catch(java.io.UnsupportedEncodingException e){
}
return temp;
    }

|
关注.

|
读取都因为转码!

|
private static ResourceBundle[] interfaceLabel;

static{
  try {
    interfaceLabel = new ResourceBundle[LANGUAGE_KIND];
    interfaceLabel[ENGLISH] = ResourceBundle.getBundle("eclabel",Locale.US);
    interfaceLabel[SIMPLIFIED_CHINESE] = ResourceBundle.getBundle("eclabel",Locale.SIMPLIFIED_CHINESE);
  } catch (MissingResourceException mre) {
    System.err.println("eclabel.properties not found");
  }
}


public final static String getLabel(String key,int language)throws MissingResourceException {
  return interfaceLabel[language].getString(key);
}

|
试过我的用properties文件的方法了吗?

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.util类properties的类成员方法: properties定义及介绍
  • 请问JB的Project下的Project Properties和Default Project Properties有什么不同?
  • java命名空间java.util类properties的类成员方法: defaults定义及介绍
  • 怎样实现类似于log4j.properties, jndi.properties只要在classpath中就能找到的功能?
  • java命名空间java.util类resourcebundle.control的类成员方法: format_properties定义及介绍
  • 连接池出错:Can not read the properties file; Make sure db.properties is in the Classpath
  • java命名空间java.awt.image接口imageobserver的类成员方法: properties定义及介绍
  • 请问:InputStream is =getClass().getResourceAsStream("/db.properties")中,getResourceAsStream 是什么意思,文件db.properties应该
  • java命名空间javax.sound.sampled类audiofileformat的类成员方法: properties定义及介绍
  • Properties文件的读写
  • java命名空间javax.sound.sampled类audioformat的类成员方法: properties定义及介绍
  • oracle iis7站长之家
  • java命名空间javax.sound.midi类midifileformat的类成员方法: properties定义及介绍
  • 有谁知道properties文件的用法?
  • java命名空间java.util类properties的类成员方法: stringpropertynames定义及介绍
  • 怎样用shell读取properties里面特定键对应的值?
  • java命名空间java.util类properties的类成员方法: list定义及介绍
  • Android 读取Properties配置文件的小例子
  • java命名空间javax.swing类jeditorpane的类成员方法: honor_display_properties定义及介绍
  • 如何用java读.properties文件中的配置信息
  • java命名空间java.util类properties的类成员方法: loadfromxml定义及介绍
  • Properties 文件封装库 OWNER


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3