Java判断时间段内文件是否更新的方法

网友投稿 239 2023-08-05


Java判断时间段内文件是否更新的方法

本文实例讲述了java判断时间段内文件是否更新的方法。分享给大家供大家参考。具体实现方法如下:

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()); 

            } 

  &http://nbsp;     }, 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");

}

希望本文所述对大家的Java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java简单网页抓取的实现方法
下一篇:java中BigDecimal的操作方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~