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

资料监听FileListener

2012-08-22 
文件监听FileListenerimport java.io.Fileimport java.util.Propertiesimport java.util.TimerTaskimpo

文件监听FileListener
import java.io.File;
import java.util.Properties;
import java.util.TimerTask;
import org.apache.log4j.Logger;
public abstract class FileListener extends TimerTask
{
    /**
     * 监听器监听的文件
     */
    protected File file=null;
    /**
     * 最后一次修改时间
     */
    protected long lastModified=0;
    /**
     * 文件的键值对象
     */
    protected Properties prop=new Properties();
   
    private Logger logger=Logger.getLogger(FileListener.class);
    /**
     * 监听定时运行方法  主要确认文件是否更新,如果理新
     * 则读取文件最新键值 对。
     */
    public void run()
    {
        //确认文件是否更新
        if(isFileUpdate())
        {
            logger.info("The properties filw["+getPath()+"] was modified.");
            //加载文件
            loadFile();
        }
    }
    /**
     * 确认文件是否更新,由子类各自实现
     * @return 文件有更新,返回true,否则返回false
     */
    public abstract boolean isFileUpdate();
    /**
     * 加载文件,将文件的内容以键值对保存,由子类实现
     */
    public abstract void loadFile();
    /**
     * 根据键返回 属性值,由子类实现
     */
    public abstract String getPropertyValue(String key);
    /**
     * 返回文件解析后的Properties对像
     */
    public Properties getProperties()
    {
        return prop;
    }
    /**
     * 返回文件名称
     */
    public String getFileName()
    {
        return file.getName();
    }
    /**
     * 返回文件路径
     */
    public String getPath()
    {
        return file.getPath();
    }
    /**
     * 返回文件
     */
    public File getFile()
    {
        return file;
    }
   
}

热点排行