타이머 클래스 Timer는 java.util 패키지에 있습니다. 사용시 먼저 인스턴스화한 후 인스턴스의 Schedule(TimerTask 작업, 긴 지연) 메서드를 사용하여 지정된 지연 후에 지정된 작업이 실행되도록 설정합니다. 타이머 작업 클래스 TimerTask는 run() 메서드를 상속하고 재정의하여 특정 작업을 구현하는 추상 클래스입니다.
schedule(TimerTask task, Date time)은 지정된 작업이 지정된 시간에 실행되도록 설정합니다.
cancel() 메소드는 이 타이머를 종료합니다.
schedule(TimerTask task, long Delay, long period) 메서드는 지정된 지연 지연 이후 고정된 지연 기간을 실행하도록 지정된 작업 작업을 설정합니다.
scheduleAtFixedRate(TimerTask task, long Delay, long period) 메서드는 지정된 지연 후 고정 빈도 주기로 지정된 작업이 실행되도록 설정합니다.
예약된 작업을 구현하려면 Java에서 Timer 및 TimerTask 클래스를 사용하여 실시간으로 처리 기능을 호출하는 것이 매우 쉽습니다. 이 두 클래스는 사용하기 매우 편리하며 타이머에 대한 대부분의 요구 사항을 충족할 수 있습니다.
간단한 예를 살펴보세요.
public class TimerTest
{
private static final int C_SCHEDULE_HOUR = 0;
private static boolean isRunning = false
public static void main(String[ ] args)
{
Timer 타이머 = new Timer();
System.out.println("Timer has start");
// 매번 1초 후에 이 작업을 실행합니다. Data 매개변수를 전달하면 이 작업을 고정된 시간에 실행할 수 있습니다.
timer.schedule(new MyTask(), 1000, 2000);
System.out.println("Already Add 작업 스케줄링 테이블 ");
While (TRUE)
{// 이 작업을 중지하는 데 사용되며, 그렇지 않으면 이 작업을 계속 수행합니다. = System.in.read();
If (ch - 'c' == 0)
{
타이머.취소();
}
catch(IOException e)
{
e.printStackTrace() ;
}
}
}
public static class MyTask는 TimerTask를 확장합니다
{
@Override
public void run()
{
Calendar cal = Calendar.getInstance();
// 24시간 실행을 방지하기 위해 내려와서 아직 작업이 완료되지 않은 상태입니다(물론 일반적인 작업은 그리 길지 않습니다). 실행 충돌이 발생하면 상태 플래그 isRunning
이 현재 실행 중인지 여부를 나타내도록 설정됩니다. if (!isRunning)
상수 C_SCHEDULE_HOUR는 (저녁 12시, 즉 0시)를 의미합니다. isRunning = true;
System.out.println("지정된 작업 실행 시작");
// 변수 선언
File[] fls = null;
문자열 cityDirectPath = "E:/apache-tomcat-6.0.33/webapps/search/download";
파일 citydirect = new File(cityDirectPath);
시도
{
if (citydirect.exists () && citydirect.isDirectory())
{
// 文件夹*是否存재
fls = citydirect.listFiles();
if (fls != null)
{
(파일 fl: fls)
{
fl.delete();
>> catch(예외 e)
{
// out.println("删除失败
");
}
isRunning = false;
System.out.println("指定任务执行结束");
// }
}
else
{
System.out.println("上一次任务执行还未结束");
}
}
}