PropertiesReader

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> package  org.siyn.util;

import  java.io.InputStream;
import  java.util.Properties;

/**
 * <p>
 * 本类用提供一个线程同步的方法,读取资源文件中的配置信息
 * </p>
 * 
 * 
@author  siyn
 * @date 2008-7-10
 
*/
public   class  PropertiesReader
{
    
private  String     file;
    
    
private  Properties properties;
    
    
/**
     * 构造 PropertysReader
     * 
@param  {String} path 相对于classes的文件路径
     
*/
    
public  PropertiesReader(String path)
    {
        
this .file  =  path;
        
this .properties  =   new  Properties();
    }
    
    
/**
     * <p>
     * 本方法根据资源名获取资源内容
     * <p>
     * 
     * 
@param  {String} key 资源文件内key
     * 
@param  {Stirng} defaultValue 默认值
     * 
     * @reaurn String key对应的资源内容
     
*/
    
public   synchronized  String getProperty(String key, String defaultValue)
    {
        
try
        {
            InputStream in 
=   this .getClass().getClassLoader()
                    .getResourceAsStream(
this .file);
            
            properties.load(in);
            
        }
        
catch  (Exception ex1)
        {
            System.out.println(
" 没有找到资源文件: "   +   this .file);
        }
        
return  properties.getProperty(key, defaultValue);
    }
    
    
/**
     * <p>
     * 本方法根据资源名获取资源内容
     * <p>
     * 
     * 
@param  {String} key 资源文件内key
     * 
@param  {Stirng} defaultValue 默认值
     * 
@param  {boolean} isnull 如果配置文件value为空,是否使用默认值
     * 
     * @reaurn String key对应的资源内容
     
*/
    
public   synchronized  String getProperty(String key, String defaultValue, boolean  isnull)
    {
        String value 
=   null ;
        value 
=  getProperty(key,defaultValue);
        
if (isnull  &&  value  ==   null   &&   "" .equals(value.trim()) )
            value 
=  defaultValue;
        
return  value;
    }
    
    
public   static   void  main(String[] args)
    {
        PropertiesReader preader 
=   new  PropertiesReader( " log4j.properties " );
        String rootLogger 
=  preader.getProperty( " aaa " " defaul " );
        System.out.println(rootLogger);
    }
}

你可能感兴趣的:(log4j)