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

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

2012-12-27 
Java中文件夹下所有文件的监听方法之二/*** 停止监听*/public void desFileListener(){if(FMap.size()0){

Java中文件夹下所有文件的监听方法之二
/**
     * 停止监听
     */
    public void desFileListener()
    {
        if(FMap.size()>0)
        {
            Iterator<String>it=FMap.keySet().iterator();
            while(it.hasNext())
            {
                String key=(String)it.next();
                FMap.get(key).cancel();
            }
        }
    }   
    /**
     * 加载配置文件配置信息
     */
    private Properties loadProperties()
    {
        Properties prop=new Properties();
        InputStreamReader reader=null;
        URL url=null;       
        try
        {
            if(configFile==null)
            {
                configFile=defaultConfigFile;
            }           
            url=getClass().getClassLoader().getResource(this.defaultConfigFile);
            reader=new InputStreamReader(url.openStream());
            prop.load(reader);
            Enumeration<?> enu=prop.propertyNames();
            logger.info("Load configuration file["+configFile+"] start...");
            while(enu.hasMoreElements())
            {
                String key=(String) enu.nextElement();
                logger.info("key:"+key+",  value:"+prop.getProperty(key));
            }
            logger.info("Load configuration file["+configFile+"] success.");
        }
        catch (Exception e)
        {
            logger.error(e.getMessage(),e);
        }
        finally
        {
            try
            {
                if(reader!=null)
                {
                    reader.close();
                }
            }
            catch (Exception e2)
            {
                logger.error("Can not close file:"+url.getFile(),e2);
            }
        }       
        return prop;
    }   
    /**
     * 得到配置文件
     */
    public static FileListener getFileListener(String fileName)
    {
        checkFMap();
        return FMap.get(fileName);
    }
    /**
     * 检查是否有加载配置文件
     */
    public static void checkFMap()
    {
        if(FMap.size()==0)
        {
            synchronized (FileManager.class)
            {
                if(FMap.size()==0)
                {
                    //启动监听
                    startService();
                }
            }
        }
    }  

热点排行