`
Dxx23
  • 浏览: 140690 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Properties文件相关

阅读更多
最近遇到两问题:
1.Properties文件中不能写中文,写了保存不了;
2.Properties文件根本就不能修改,不管写中文还是英文。
     原来要在myEclipse设置Properties文件的编码格式,默认properties文件存储是用ISO-8859-1编码,通过在window-->Preferences-->Gneral-->Content Types-->Text-->Java Properties Files 更改设置为utf-8,然后“update”,最后就可以修改保存中文了。虽然存储是按照utf-8编码,进行读取Properties文件的时候,还是按照ISO-8859-1来读取的,所以,当读取的某个字符串时,需对其重新编码(str还要对此字符创进行重新编码:str = new String(str.getBytes("ISO-8859-1"),"utf-8");这样就可以得到正常的value值了。

使用J2SE API读取Properties文件的六种方法
1.使用java.util.Properties类的load()方法
示例:
InputStream in = lnew BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);



2.使用java.util.ResourceBundle类的getBundle()方法
示例:
 ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());



3.使用java.util.PropertyResourceBundle类的构造函数
示例:
InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);



4.使用class变量的getResourceAsStream()方法
示例:
InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);



5.使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
示例:
InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);



6.使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
示例:
InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);



补充

Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:
InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);



参考文献来自CSDN博客:http://blog.csdn.net/senton/archive/2009/04/16/4083127.aspx



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics