`
newleague
  • 浏览: 1471799 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Properties 类读取配置文件

 
阅读更多

1、使用java.util.Properties类的load()方法 示例:

  Java代码

  InputStream in = lnew BufferedInputStream(new FileInputStream(name));

  Properties p = new Properties();

  p.load(in);

  2、使用java.util.ResourceBundle类的getBundle()方法

  示例:

  Java代码

  ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

  用ResourceBundle读取.properties文件可避免路径问题

  我在jar里读取.properties文件时,总是找不到文件路径,后来用ResourceBundle读取.properties文件即可避免路径问题,代码如下:

  //process为文件名,切记不要加 .properties, URL是文件里的键名

  Java代码

  ResourceBundle bundle = ResourceBundle.getBundle("com.ihandy.smsoc.app.process");

  String s = bundle.getString("URL");

  System.out.println(s);

  pURL = s;

  3、使用java.util.PropertyResourceBundle类的构造函数

  示例:

  Java代码

  InputStream in = new BufferedInputStream(new FileInputStream(name));

  ResourceBundle rb = new PropertyResourceBundle(in);

  4、使用class变量的getResourceAsStream()方法

  示例:

  Java代码

  InputStream in = 类名.class.getResourceAsStream(name);

  Properties p = new Properties();

  p.load(in);

  5、使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法 示例:

  Java代码

  InputStream in = 类名.class.getClassLoader().getResourceAsStream(name);

  Properties p = new Properties();

  p.load(in);

  6、使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法 示例:

  Java代码

  InputStream in = ClassLoader.getSystemResourceAsStream(name);

  Properties p = new Properties();

  p.load(in);

  7、Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法 示例:

  Java代码

  InputStream in = context.getResourceAsStream(path);

  Properties p = new Properties();

  p.load(in);

 

 

================================================================================

  1. import java.io.IOException;   
  2. import java.io.InputStream;   
  3. import java.util.Enumeration;   
  4. import java.util.Properties;   
  5.   
  6.   
  7. /**  
  8.  *  Properties   
  9.  *  配置文件要有中文就使用xml文件加载  
  10.  * @author whp  
  11.  *  
  12.  */  
  13. public class PropertiesConfig extends Properties {   
  14.     /**  
  15.      *   
  16.      */  
  17.     private static final long serialVersionUID = 1L;   
  18.        
  19.     protected static final Properties p=new Properties();   
  20.     public PropertiesConfig(String file) {   
  21.         InputStream in=PropertiesConfig.class.getResourceAsStream(file);   
  22.         if(in!=null){   
  23.             try {   
  24.                 p.load(in);   
  25.                 in.close();   
  26.             } catch (IOException e) {   
  27.                 System.out.println("加载配置文件错误");   
  28.                 e.printStackTrace();   
  29.             }   
  30.                
  31.         }   
  32.     }   
  33.     @Override  
  34.     public  String getProperty(String key, String defaultValue) {   
  35.         return p.getProperty(key, defaultValue);   
  36.     }   
  37.     @Override  
  38.     public String getProperty(String key) {   
  39.         return p.getProperty(key);   
  40.     }   
  41.        
  42.     /**  
  43.      *  属性列表  
  44.      */  
  45.     private void propertiesList(){   
  46.         Enumeration e=p.keys();   
  47.         while(e.hasMoreElements()){   
  48.             String key=(String)e.nextElement();   
  49.             System.out.println(key+"="+p.getProperty(key));   
  50.         }   
  51.     }   
  52.        
  53.     public static void main(String[] args) {   
  54.         PropertiesConfig pro=new PropertiesConfig("config.properties");   
  55.         //String s=pro.getProperty("name");   
  56.         pro.propertiesList();   
  57.         //System.out.println(s);   
  58.     }   
  59.        
  60.        
  61.   
  62. }  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics