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

Java中文件夹上所有文件的监听方法之三

2012-09-25 
Java中文件夹下所有文件的监听方法之三/*** 只提供文本文件的读取*/public static Properties getProperti

Java中文件夹下所有文件的监听方法之三
/**
     * 只提供文本文件的读取
     */
    public static Properties getProperties(String fileName)
    {
        FileListener listener=getFileListener(fileName);
        if(null==listener)
        {
            logger.error("Can not find the fileListener:"+fileName);
            return null;
        }
        return listener.getProperties();
    }   
    /**
     * 对外开放的方法,可以取得监听文件配置数据
     */
    public static String getProperty(String fileName,String key)
    {
        FileListener listener=getFileListener(fileName);
        //如果取不到昨听的文件返回空值
        if(listener==null)
        {
            logger.error("Can not find the fileListener:"+ fileName);
            return null;
        }
        return listener.getPropertyValue(key);
    }
    /**
     * @function 获取不到配置文件中的内容时,返回defaultValue的值
     */
    public static String getProperty(String fileName, String key,
            String defaultValue)
    {
        String value = getProperty(fileName, key);
        if (value == null)
        {
            value = defaultValue;
        }
        return value;

    }  
    /**
     * 遍历所有的枚举文件取值方法,主要是兼容之前的版 本所用
     *
     */
    public static String getPropertyFromAllEnumerates(String key)
    {
        checkFMap();
        String result=null;
        Iterator<String> it=FMap.keySet().iterator();
        while(it.hasNext())
        {
            String tempKey=it.next();
            FileListener tempListener=FMap.get(tempKey);
           
            if(tempListener instanceof XMLFileListener)
            {
                String tempResult=tempListener.getPropertyValue(key);
                if(tempResult != null)
                {
                    result=tempResult;
                    break;
                }
            }
        }
        return result;
    }       
    /**
     * 提供给ESB使用的方法,取ESB配置文件数据
     */
    public static String getESBProperty(String key)
    {
        return getProperty("esb.properties",key);
    }   
    /**
     * 只偍供给XML的枚举方法
     */
    public static String getTransferValue(String type,String value)
    {
        StringBuffer buf=new StringBuffer(type).append("||").
        append(XMLParserHelperDom4j.ORIGINALL_VALUE).append("||").append(value);
       
        return getPropertyFromAllEnumerates(buf.toString());
    }
    /**
     * 只提供给XML的枚举值
     * @param type
     * @param value
     * @return
     */
    public static String getOriginallyValue(String type, String value)
    {
        StringBuffer buf = new StringBuffer(type).append("||")
                .append(XMLParserHelperDom4j.TRANSFER_VALUE).append("||")
                .append(value);
        return getPropertyFromAllEnumerates(buf.toString());
    }      
    // 启动监听服务
    private static void startService()
    {
        FileManager fm = new FileManager();
        fm.regFileListener();
    }

热点排行