首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

判断时间段内资料是否更新

2012-10-06 
判断时间段内文件是否更新1.定时器private Timer timer/*** 简易定时器* @param delay多久后开始执行。毫

判断时间段内文件是否更新
1.定时器

private Timer timer;    /**     * 简易定时器     * @param delay  多久后开始执行。毫秒     * @param period 执行的间隔时间。毫秒     */    public void test(long delay, long period) {        timer = new Timer();        timer.schedule(new TimerTask() {            public void run() {                //你 的 操作方法                System.out.println(System.currentTimeMillis());            }        }, delay, period);    }

2.深化版
package classloader;/** * @author vma */// 自定义一个类加载器public class DynamicClassLoader extends ClassLoader {           public Class<?> findClass(byte[] b) throws ClassNotFoundException {        return defineClass(null, b, 0, b.length);    }package classloader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;/** * @author vma */public class ManageClassLoader {    DynamicClassLoader dc =null;        Long lastModified = 0l;    Class c = null;    //加载类, 如果类文件修改过加载,如果没有修改,返回当前的    public Class loadClass(String name) throws ClassNotFoundException, IOException{     if (isClassModified(name)){        dc =  new DynamicClassLoader();      return c = dc.findClass(getBytes(name));     }     return c;    }    //判断是否被修改过    private boolean isClassModified(String filename) {        boolean returnValue = false;        File file = new File(filename);        if (file.lastModified() > lastModified) {            returnValue = true;        }        return returnValue;    }       // 从本地读取文件       private byte[] getBytes(String filename) throws IOException {        File file = new File(filename);        long len = file.length();        lastModified = file.lastModified();        byte raw[] = new byte[(int) len];        FileInputStream fin = new FileInputStream(file);        int r = fin.read(raw);        if (r != len) {            throw new IOException("Can't read all, " + r + " != " + len);        }        fin.close();        return raw;    }}

3.thread
class Thread1 extends Thread{  public void run(){//调用业务方法(查看文件是否改变)Thread.currentThread().sleep("100000");}


热点排行