读取配置文件的值3种方法

  1 package org.properties.util;
  2 
  3 import java.io.FileInputStream;
  4 import java.io.FileOutputStream;
  5 import java.io.IOException;
  6 import java.io.InputStream;
  7 import java.io.OutputStream;
  8 import java.util.Properties;
  9 
 10 
 11 public class PropertiesUtil {
 12     // 文件名
 13     private String properiesName = "";
 14     
 15     // 构造方法
 16     public PropertiesUtil() {
 17 
 18     }
 19     public PropertiesUtil(String fileName) {
 20         this.properiesName = fileName;
 21     }
 22     
 23     // 根据配置文件的key取值
 24     public String readProperty(String key) {
 25         String value = "";
 26         InputStream is = null;
 27         try {
 28             is = PropertiesUtil.class.getClassLoader().getResourceAsStream(
 29                     properiesName);
 30             Properties p = new Properties();
 31             p.load(is);
 32             value = p.getProperty(key);
 33         } catch (IOException e) {
 34             // TODO Auto-generated catch block
 35             e.printStackTrace();
 36         } finally {
 37             try {
 38                 is.close();
 39             } catch (IOException e) {
 40                 // TODO Auto-generated catch block
 41                 e.printStackTrace();
 42             }
 43         }
 44         return value;
 45     }
 46 
 47     //  取全部内容
 48     public Properties getProperties() {
 49         Properties p = new Properties();
 50         InputStream is = null;
 51         try {
 52             is = PropertiesUtil.class.getClassLoader().getResourceAsStream(
 53                     properiesName);
 54             p.load(is);
 55         } catch (IOException e) {
 56             // TODO Auto-generated catch block
 57             e.printStackTrace();
 58         } finally {
 59             try {
 60                 is.close();
 61             } catch (IOException e) {
 62                 // TODO Auto-generated catch block
 63                 e.printStackTrace();
 64             }
 65         }
 66         return p;
 67     }
 68 
 69     //  根据键值取
 70     public void writeProperty(String key, String value) {
 71         InputStream is = null;
 72         OutputStream os = null;
 73         Properties p = new Properties();
 74         try {
 75             is = new FileInputStream(properiesName);
 76             p.load(is);
 77             os = new FileOutputStream(PropertiesUtil.class.getClassLoader().getResource(properiesName).getFile());
 78 
 79             p.setProperty(key, value);
 80             p.store(os, key);
 81             os.flush();
 82             os.close();
 83         } catch (Exception e) {
 84             // TODO Auto-generated catch block
 85             e.printStackTrace();
 86         } finally {
 87             try {
 88                 if (null != is)
 89                     is.close();
 90                 if (null != os)
 91                     os.close();
 92             } catch (IOException e) {
 93                 // TODO Auto-generated catch block
 94                 e.printStackTrace();
 95             }
 96         }
 97 
 98     }
 99 
100 
101 
102 }

 

posted @ 2017-05-15 16:26  26个字符的地狱  阅读(1134)  评论(0)    收藏  举报