每天特定的时间执行指定的方法

配置web.xml

  com.yohn.timer.ExecTimer

********************************************************************

java源文件
package com.yohn.timmer;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class SetTimerExecute extends TimerTask implements ServletContextListener
{

    public void contextDestroyed(ServletContextEvent arg0)
    {
        System.out.println("服务器停止");
    }

    public void contextInitialized(ServletContextEvent arg0)
    {
        System.out.println("服务器启动");
        //新建一个时间控件
        Timer t = new Timer();
        //指定的任务从指定的延迟后开始进行重复的固定延迟执行。
        t.schedule(new SetTimerExecute(),1000,1000);

    }

    public void run()
    {
        FileWriter fs = null;
        BufferedWriter buf = null;
        try
        {
            File f = new File("/test.txt");
            if (!f.exists())
                f.createNewFile();
            fs = new FileWriter(f,true);
            buf = new BufferedWriter(fs);
            //每天上午10点写入到文件
              if(new Date().getHours()==10)
            {
              f.write("定时打印:" + new Date().getSeconds());
              buf.newLine();
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally
        {
            try
            {
                buf.flush();
                fs.close();
            }
            catch (IOException e)
            {
            }

        }
    }
}

 

你可能感兴趣的:(Java)