`
com_xpp
  • 浏览: 365746 次
社区版块
存档分类
最新评论

java timer 实现在指定时间执行方法

阅读更多

最近在弄一个定时发送的项目,需要定时执行方法,于是用到了Timer,但是我想要的功能网络上的资源比较少,所以自己研究了一下。

下面是我写的一些代码

import java.util.Calendar;
import java.util.Date;
import java.util.Timer;


public class TimerTest {
    /*
     * 定时执行方法
     */
    public void Timing(String sssString , int[] dateTime){
        Timer timer = new Timer();
        Calendar calendar = Calendar.getInstance();
        calendar.set(dateTime[0], dateTime[1]-1, dateTime[2], dateTime[3], dateTime[4], dateTime[5]);//第二的参数要主要,月是从0开始的,所以要-1.
        
        Date date = calendar.getTime();//网络上很多都是用Date date = new Date(year, month, date, hrs, min, sec)
//        System.out.println(date);
        try {
            timer.schedule(new NowTask( timer,sssString), date);//可以传递参数进去定时任务类
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    /*
     * 实现时间字符串转化为int数组,便于传递参数
     */
    public int[] String2Int(String timeString){
        String year = timeString.substring(0, 4);
        String month = timeString.substring(5, 7);
        String date = timeString.substring(8, 10);
        String hour =timeString.substring(11, 13);
        String min = timeString.substring(14, 16);
        String sec = timeString.substring(17,19);
        int[] time = new int [6];
        String[] timeStrings = new String[]{year,month,date,hour,min,sec};
        for (int i = 0; i < timeStrings.length; i++) {
            time[i]=Integer.valueOf(timeStrings[i]);
        }
        return time;
    }
    public static void main(String[] args) {
        TimerTest timerTest = new TimerTest();
        String timeString ="2012/04/11 16:46:00";
        timerTest.Timing("成功了", timerTest.String2Int(timeString));
    }
}
然后是NowTask类
import java.util.Timer;
import java.util.TimerTask;

public class NowTask extends TimerTask{
    private Timer timer;
    private String string;
    /*
     * 构造器
     */
    public NowTask(){
        
    }
    public NowTask(String string){
        this.string = string;
    }
    public NowTask(Timer timer){
        this.timer =timer;
    }
    public NowTask(Timer timer , String string){
        this.timer = timer;
        this.string =string;
    }
    //属性的get、set方法
    public Timer getTimer() {
        return timer;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }
    public String getString() {
        return string;
    }
    public void setString(String string) {
        this.string = string;
    }
    /*
     * (non-Javadoc)
     * @see java.util.TimerTask#run()
     * 执行方法
     */
@Override
    public void run(){
        //这里写需要定时执行的方法
        System.out.println(string);
        timer.cancel();//传递timer进来就是为了在方法执行完后退出,必须退出
        System.out.println("结束");
    }
}
 
分享到:
评论

相关推荐

    java.util.timer实现的简单定时任务

    它允许开发者在指定的时间间隔或特定时间点执行任务,非常适合处理一次性或周期性的后台操作。本篇文章将深入探讨如何使用Timer和TimerTask来实现简单的定时任务。 首先,`java.util.Timer`是一个线程类,它维护了...

    Java里timer执行定时任务

    #### 三、指定执行时间 对于更复杂的定时需求,如需要在确切的日期时间点执行任务,可以使用 `schedule()` 的其他重载版本。这些版本允许指定具体的执行时间,而不是仅基于相对延迟。 方法签名如下: ```java ...

    java timer定时器详解(附详细代码)

    Java Timer定时器是Java语言中的一种常用的定时器机制,它可以帮助开发者实现一些需要在特定时间或特定间隔执行的任务。Java Timer定时器主要是通过java.util.Timer和java.util.TimerTask两个类来实现的。 Java....

    java5定时器java Timer

    这个类是Java早期版本中对定时任务管理的一个重要实现,尽管在Java 5之后,`java.util.concurrent`包中的`ScheduledExecutorService`被推荐使用,但`Timer`仍然在很多场景下被广泛采用。 `Timer`类主要有两个核心...

    java定时任务,每天定时执行任务demo

    在实际项目中,配置文件(如`配置LyzListener.txt`)通常用于存储定时任务的参数,比如执行时间。这样,我们可以通过读取配置文件来动态调整定时任务的设置,而无需修改代码。可以使用`java.util.Properties`类加载...

    java Timer 定时每天凌晨1点执行任务

    在Java中,Timer类是一个非常有用的工具类,它可以帮助我们实现定时任务的执行。在本篇文章中,我们将学习如何使用Java Timer来实现每天凌晨1点执行任务的功能。 首先,让我们了解一下 Timer类的基本概念。Timer类...

    java定时任务,每天定时执行任务

    Java 定时任务是指在 Java 语言中实现的定时执行任务的机制,通过使用 Timer 和 TimerTask 两个类,可以实现定时执行任务的功能。在这个例子中,我们将实现每天定时执行任务的功能,具体来说,就是在每天的凌晨 2 点...

    Java定时执行某个任务

    总结起来,Java提供了`Timer`和`ScheduledExecutorService`两种方式来实现定时执行任务。`Timer`适合简单的定时任务,而`ScheduledExecutorService`更适合复杂的需求,如多线程环境和高并发场景。选择哪种方式取决于...

    Timer-java.rar_java timer_timer_timer java

    在描述中提到的是一个使用图形用户界面(GUI)实现的Timer应用,允许用户设置特定的时间段,并且能够控制Timer的启动和关闭。用户还可以通过任意按键完成操作,这可能涉及到键盘监听事件的处理。 下面我们将深入...

    java_Timer_thread.rar_java thread timer_java timer_java 定时器_java

    总结,Java中的`Timer`和`TimerTask`是用于实现定时任务的基本工具,虽然它们在多线程编程中有一定的局限性,但在许多场景下仍然能够满足需求。对于更复杂的需求,可以考虑使用`ScheduledExecutorService`。了解并...

    java定时器(timer类使用详解)

    Java定时器,也被称为`Timer`类,是Java标准库中的一个强大工具,它允许开发者在指定的时间间隔执行任务,从而实现定时操作。这个类在`java.util`包中定义,是实现定时任务调度的核心。在本文中,我们将深入探讨`...

    小码农的代码(四)----------JAVA中Timer定时器与Spring定时任务

    在Java编程语言中,`Timer`类和Spring框架的定时任务是两种常见的实现定时执行任务的方式。本篇文章将深入探讨这两个主题,旨在帮助初学者理解它们的工作原理以及如何在实际项目中应用。 首先,让我们来看一下Java...

    Java Timer:schedule和scheduleAtFixedRate

    总结来说,`Timer` 类的 `schedule` 和 `scheduleAtFixedRate` 方法是Java中进行定时任务调度的关键工具。`schedule` 适合单次延迟执行,而 `scheduleAtFixedRate` 则用于保证任务以固定频率周期性执行。了解并熟练...

    JavaTimer和TimerTask实例教程Java开发

    在Java开发中,`Timer`和`TimerTask`是基础的定时任务工具,对于实现简单的定时功能非常实用。然而,在大型项目或高性能需求的场景下,`ScheduledExecutorService`通常更受青睐,因为它提供了更多的控制和灵活性。...

    Java定时任务:利用java Timer类实现定时执行任务的功能

    【Java定时任务:利用java Timer类实现定时执行任务的功能】 在Java编程中,有时我们...通过理解`Timer`和`TimerTask`的工作原理以及它们的方法,开发者可以有效地在Java应用程序中实现定时任务,满足各种定时需求。

    Spring的quartz和Timer实现定时

    在Java世界中,任务调度是十分重要的,Spring框架提供了多种定时任务实现方式,其中包括Quartz和Timer。Quartz是一款开源的作业调度框架,而Timer是Java标准库中的一个类,用于执行定时任务。这两个工具都能帮助...

    Java定时器Timer简述.pdf

    Timer类主要提供了定时任务的安排执行,对于需要在指定时间后、或者以固定周期重复执行任务的场景非常有用。本文档中介绍的Timer类的实现以及如何使用Timer类去安排TimerTask任务,并讨论了一些相关的构造函数和方法...

    Java循环调用多个timer实现定时任务

    在 Timer 中,可以使用 schedule() 方法来安排任务的执行,例如 schedule(TimerTask, task, Date time) 方法可以在指定的时间执行指定的任务。此外,还可以使用 schedule() 方法来安排任务的重复执行,例如 schedule...

    每天定时执行 指定时间执行程序

    在IT行业中,定时任务是许多系统和服务不可或缺的一部分,它们允许我们按照预定的时间间隔或特定时刻执行某些操作。...总之,利用Quartz Timer,你可以方便地在Java项目中实现每天定时执行指定程序的需求。

Global site tag (gtag.js) - Google Analytics