使用java執(zhí)行定時(shí)任務(wù)示例
這是一個(gè)演示如何使用java執(zhí)行定時(shí)任務(wù)的實(shí)例,本實(shí)例開始運(yùn)行后不會(huì)自動(dòng)結(jié)束,請(qǐng)?jiān)谶\(yùn)行本實(shí)例后手動(dòng)結(jié)束程序。
package com.hongyuan.test;
import java.awt.Desktop;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
public class TimerTaskTest {
public static void main(String[] args) throws ParseException {
Timer timer=new Timer();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//延遲指定時(shí)間后執(zhí)行任務(wù)(以毫秒為單位)
timer.schedule(new TimerTask(){
@Override
public void run() {
System.out.println("時(shí)間已經(jīng)流逝1秒!!!!");
}
}, 1000);
//到達(dá)指定時(shí)間后執(zhí)行任務(wù)
timer.schedule(new TimerTask(){
@Override
public void run() {
try {
//打開瀏覽器
Desktop.getDesktop().browse(new URI("http://www.baidu.com/"));
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
}
}
}, sdf.parse("2014-04-20 10:20:00"));
//延遲指定時(shí)間后以指定頻率開始執(zhí)行任務(wù)
timer.schedule(new TimerTask(){
@Override
public void run() {
BufferedInputStream in=null;
BufferedReader inBr=null;
try {
//執(zhí)行系統(tǒng)命令
Process p=Runtime.getRuntime().exec("ping www.baidu.com");
//讀取輸出
in = new BufferedInputStream(p.getInputStream());
inBr = new BufferedReader(new InputStreamReader(in,
Charset.forName("GBK"))); //我的系統(tǒng)字符集為GBK
String lineStr=null;
while ((lineStr = inBr.readLine()) != null){
//獲得命令執(zhí)行后在控制臺(tái)的輸出信息
System.out.println(lineStr);// 打印輸出信息
}
//檢查命令是否執(zhí)行失敗。
if (p.waitFor() != 0) {
if (p.exitValue() == 1)//p.exitValue()==0表示正常結(jié)束,1:非正常結(jié)束
System.err.println("命令執(zhí)行失敗!");
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} finally{
try {
inBr.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}, 10000, 5000);
}
}
- Java定時(shí)任務(wù)的三種實(shí)現(xiàn)方法
- java定時(shí)任務(wù)的實(shí)現(xiàn)方式
- Java定時(shí)任務(wù)的三種實(shí)現(xiàn)方式
- Java 實(shí)現(xiàn)定時(shí)任務(wù)的三種方法
- Java項(xiàng)目實(shí)現(xiàn)定時(shí)任務(wù)的三種方法
- Java實(shí)現(xiàn)定時(shí)任務(wù)最簡(jiǎn)單的3種方法
- Java實(shí)現(xiàn)定時(shí)任務(wù)的方法總結(jié)
- Java中實(shí)現(xiàn)定時(shí)任務(wù)的兩種方法舉例詳解
相關(guān)文章
通過(guò)@Resource注解實(shí)現(xiàn)屬性裝配代碼詳解
這篇文章主要介紹了通過(guò)@Resource注解實(shí)現(xiàn)屬性裝配代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
詳解Spring依賴注入:@Autowired,@Resource和@Inject區(qū)別與實(shí)現(xiàn)原理
這篇文章主要介紹了詳解Spring依賴注入:@Autowired,@Resource和@Inject區(qū)別與實(shí)現(xiàn)原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Java動(dòng)態(tài)替換properties文件中鍵值方式
這篇文章主要介紹了Java動(dòng)態(tài)替換properties文件中鍵值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08
JAVA中 redisTemplate 和 jedis的配合使用操作
這篇文章主要介紹了JAVA中 redisTemplate 和 jedis的配合使用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
java集合——Java中的equals和hashCode方法詳解
本篇文章詳細(xì)介紹了Java中的equals和hashCode方法詳解,Object 類是所有類的父類,非常具有實(shí)用價(jià)值,需要的朋友可以參考下。2016-10-10

