java 编写定时器实例 每天定时执行和N分钟执行一次_第1页
java 编写定时器实例 每天定时执行和N分钟执行一次_第2页
java 编写定时器实例 每天定时执行和N分钟执行一次_第3页
java 编写定时器实例 每天定时执行和N分钟执行一次_第4页
java 编写定时器实例 每天定时执行和N分钟执行一次_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java定时器的使用,这里简单的说两种使用方式。在这里我用的是线程,可以单独启动。仅供参考!第一种:要求程序定时执行某个方法,如:没5分钟扫描数据库tb_test表package com.jwht.hbgs.datatransfer;import java.io.IOException;/* * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * autho

2、r ASLU * version 1.0 */public class TsMGap public TsMGap() public void go() throws IOException ThreadTimer th=new ThreadTimer(); th.start();/线程启动 public static void main(String args) TsMGap tm = new TsMGap(); try tm.go(); catch(Exception e) e.printStackTrace(); package com.jwht.hbgs.datatransfer;imp

3、ort java.util.*;/* * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * author ASLU * version 1.0 */public class ThreadTimer extends Thread public ThreadTimer() static int num=5;/分钟 public void start() /每5

4、分钟执行一次定时任务 RefreshItem ri = new RefreshItem(60*ThreadTimer.num); public static void main(String args) ThreadTimer tm = new ThreadTimer(); tm.start();/启动ThreadTimer中start()方法。 public static class RefreshItem public RefreshItem(int seconds) Timer timer = new Timer(); timer.scheduleAtFixedRate(new Refr

5、eshTask(), new Date(), seconds * 1000); class RefreshTask extends TimerTask public void run() /查询 TsManagerBean tm=new TsManagerBean(); tm.getTsTxSmsinfo(); tm.getTsTxSmsinfo2(); package com.jwht.hbgs.datatransfer;import java.sql.*;import java.util.*;import java.util.Date;import mon.*;import java.te

6、xt.*;import com.jwht.hbgs.datatransfer.*;import com.jwht.hbgs.smsoper.*;/* * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2005</p> * <p>Company: </p> * author ASLU * version 1.0 * 2013年11月14日 09:42:03改 发送后update iseend=1不删除数据 */p

7、ublic class TsManagerBean public TsManagerBean() public void getTsTxSmsinfo2() 具体实现方法。 第二中:要求程序在某个特定时间去执行某项任务,如:要求程序每天晚上23:19:10去执行任务创建启动线程的ShanChu类package .dingshishanchu;import java.io.IOException;public class ShanChu public ShanChu() public void go() throws IOException ShanChuTimer th=new ShanChu

8、Timer(); th.start();/线程启动 System.out.println("启动定时删除线程。"); public static void main(String args) ShanChu tm = new ShanChu(); try tm.go(); catch(Exception e) e.printStackTrace(); 创建定时器ShanChuTimerpackage .dingshishanchu;import java.util.*;public class ShanChuTimer extends Thread public ShanC

9、huTimer() private static final long PERIOD_DAY = 24*60*60*1000;/以毫秒为单位,24*60*60*1000是1天public void start() RefreshItem ri = new RefreshItem();public static void main(String args) ShanChuTimer tm = new ShanChuTimer();tm.start();/ 启动ThreadTimer中start()方法。/ 定制每天的xx:xx:xx执行,/ 每天的date时刻执行task, 仅执行一次/ tim

10、er.schedule(task, date);public static class RefreshItem public RefreshItem() / timer.scheduleAtFixedRate(new RefreshTask(), new Date(),seconds */ 200); /1000毫秒=1分钟/ 设置执行时间Calendar calendar = Calendar.getInstance();int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH);int da

11、y = calendar.get(Calendar.DAY_OF_MONTH);/ 每天/这里说明一点,如果你启动任务的时间(上午10点)晚于你设定的时间(早上8点),程序会立马执行一次,这里需要将day+1默认推迟一天。这里我设定的时间是晚上22点01分18秒,所以只要我在这个时间前启动就ok.calendar.set(year, month, day, 22, 01, 18);/设置固定时间Date date = calendar.getTime();System.out.println("第一次执行时间是:"+date);Timer timer = new Timer

12、();timer.schedule(new RefreshTask(), date, PERIOD_DAY);/间隔时间为PERIOD_DAY(1天)class RefreshTask extends TimerTask public void run() ShanChuBean tm = new ShanChuBean();System.out.println("执行定时删除进行中。");tm.del();创建具体实现的ShanChuBean类package .dingshishanchu;import java.io.File;import java.text.Simp

13、leDateFormat;import java.util.Date;public class ShanChuBean public ShanChuBean() public void del() SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");/ 设置日期格式String loadpath = "D:/workspace/sc" + "/dir"File file = new File(loadpath);/ 里面输入特定目录/ System.out.println(loadpath);/ System.out.println("file.length() "+file.length();/需要loadpath指定到文件名,输出文件大小File temp = null;File filelist = file.listFiles();for (int i = 0; i < filelist.length; i+) temp = filelisti;if (temp.getName().endsWith("") / 获得文件名,如果后缀为“”,这个你自己写,就删除文件tem

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论