用Timer实现类似病毒的程序

发布:猫眼工作室 发布时间:2009/4/9 点击:1826

  实现一个类似于病毒的程序,定时到D盘删除指定文件。这次主要用到java.util.Timer。

  具体源码如下:

  package cn.javaoop.dream.quartz;

  import java.io.File;

  import java.util.Calendar;

  import java.util.Date;

  import java.util.GregorianCalendar;

  import java.util.Timer;

  import java.util.TimerTask;

  /**

  * 实现类似于病毒得程序,在指定时间删除D盘下某个文件

  *

  * @author JavaChaos

  *

  */

  public class Virus {

  private final Timer timer = new Timer();

  private final Date date;

  public Virus(Date time) {

  date = time;

  }

  /**

  * 程序入口

  *

  * @param args

  */

  public static void main(String[] args) {

  Calendar calendar = GregorianCalendar.getInstance();// 创建一个Calendar对象

  calendar.set(2008, 6, 26, 21, 23, 00);// 设置时间点为2008年7月26日21点0分0秒

  Virus virus = new Virus(calendar.getTime());//注入时间

  virus.start();//执行

  }

  /**

  * 执行病毒程序

  */

  public void start() {

  timer.schedule(new TimerTask(){

  /**

  * 实现run这个方法

  */

  public void run(){

  deleteFiles();

  timer.cancel();

  }

  /**

  * 删除文件

  */

  private void deleteFiles() {

  File file = new File(”D://test.txt”);

  if(file.canExecute()){//判断文件是否可以操作

  file.delete();//删除

  System.out.println(”删除完毕”);

  }else{

  System.out.println(”删除失败”);

  }

  }

  }, date);

  }

  }

  Timer是Sun公司提供得一个似于“定时装置”一样的类,也就是大家常说的:作业调度。你可以指定得时间执行你所需要执行的方法。 “定时装置”可以来做图书系统的自动通知管理员有哪些人员阅读饿图书到期应该归还了。但是这个时候用Timer类就有点不行了,下次我会为大家演示一下更适合实际开发得“定时装置”。

在线微信
15858213871