首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Properties资料相关

2012-10-30 
Properties文件相关最近遇到两问题:1.Properties文件中不能写中文,写了保存不了;2.Properties文件根本就不

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



热点排行