Java之Property类使用

时间:2022-10-27 06:19:54

http://blog.csdn.net/hopestar2/article/details/6372883

在项目中经常用到各种配置文件,有.properties的,也有.xml格式的

都可以通过java.utils.Property类进行处理。

1. 读取.properties文件

  1. File pFile = new File("test.properties");
  2. FileInputStream   pInStream=null;
  3. try {
  4. pInStream = new FileInputStream(pFile );
  5. } catch (FileNotFoundException e) {
  6. e.printStackTrace();
  7. }
  8. Properties p = new Properties();
  9. try {
  10. p.load(pInStream );
  11. } catch (IOException e) {
  12. e.printStackTrace();
  13. }
  14. Enumeration enu = p.propertyNames();  //取出所有的key
  15. p.list(System.out) ;
  16. while(enu.hasMoreElements())
  17. {
  18. String thisKey = (String)enu.nextElement();
  19. System.out.println("key="+thisKey);
  20. System.out.println("value="+p.getProperty(thisKey));
  21. }

.properties测试文件内容如下:

name = tinyfun
    age = 25
    sex = man
    title = software developer

2. 读取XML文件

  1. File pFile = new File("test.xml");
  2. FileInputStream pInStream = null;
  3. try {
  4. pInStream = new FileInputStream(pFile);
  5. Properties p = new Properties();
  6. p.loadFromXML(pInStream);
  7. p.list(System.out);
  8. } catch (IOException e) {
  9. e.printStackTrace();
  10. }

xml文件如下:

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
  3. <properties>
  4. <comment>test</comment>
  5. <entry key="age">25</entry>
  6. <entry key="name">tinyfun</entry>
  7. <entry key="sex">man</entry>
  8. <entry key="title">software developer</entry>
  9. </properties>

3. 写入XML文件

  1. Properties p = new Properties();
  2. p.setProperty("name","tinyfun");
  3. p.setProperty("age","25");
  4. p.setProperty("sex","man");
  5. p.setProperty("title","software developer");
  6. try{
  7. PrintStream fW = new PrintStream(new File("test.xml"));
  8. p.storeToXML(fW,"test");
  9. } catch (IOException e) {
  10. e.printStackTrace();
  11. }

4. 写入.properties文件

  1. Properties p = new Properties();
  2. p.setProperty("name","tinyfun");
  3. p.setProperty("age","25");
  4. p.setProperty("sex","man");
  5. p.setProperty("title","software developer");
  6. try{
  7. PrintStream fW = new PrintStream(new File("test.properties"));
  8. p.list(fW );        }
  9. catch (IOException e) {
  10. e.printStackTrace();
  11. }