使用java执行定时任务示例
发布时间:2022-09-16 21:23:22
这是一个演示如何使用java执行定时任务的实例,本实例开始运行后不会自动结束,请在运行本实例后手动结束程序。
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");
//延迟指定时间后执行任务(以毫秒为单位)
timer.schedule(new TimerTask(){
@Override
public void run() {
System.out.println("时间已经流逝1秒!!!!");
}
}, 1000);
//到达指定时间后执行任务
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"));
//延迟指定时间后以指定频率开始执行任务
timer.schedule(new TimerTask(){
@Override
public void run() {
BufferedInputStream in=null;
BufferedReader inBr=null;
try {
//执行系统命令
Process p=Runtime.getRuntime().exec("ping www.baidu.com");
//读取输出
in = new BufferedInputStream(p.getInputStream());
inBr = new BufferedReader(new InputStreamReader(in,
Charset.forName("GBK"))); //我的系统字符集为GBK
String lineStr=null;
while ((lineStr = inBr.readLine()) != null){
//获得命令执行后在控制台的输出信息
System.out.println(lineStr);// 打印输出信息
}
//检查命令是否执行失败。
if (p.waitFor() != 0) {
if (p.exitValue() == 1)//p.exitValue()==0表示正常结束,1:非正常结束
System.err.println("命令执行失败!");
}
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} finally{
try {
inBr.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}, 10000, 5000);
}
}


猜你喜欢
- Java程序默认输出为Console,如果要想将Console输出结果保存到文件中,则需要做如下配置:在JAVA程序上右键--> Ru
- 本文实例为大家分享了C#多线程Thread使用的示例代码,供大家参考,具体内容如下多线程:线程生命周期状态图:C#线程优先级(概率高低):基
- 在谈 JVM 内存区域划分之前,我们先来看一下 Java 程序的具体执行过程,我画了一幅图。Java 源代码文件经过编译器编译后生成字节码文
- 一、什么是热部署?热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。二、什么是SpringBoot热部署?SpringBoot
- 1. 查找1) 顺序查找 SeqSearch.java2) 二分查找【二分法,放在算法讲解】2. 顺序查找有一个数列:白眉鹰王、金毛狮王、紫
- 1.文件页面编码导致的乱码。每一个文件(java,js,jsp,html等)都有其本身的编码格式,文件中的代码在一种编码中显示正常,在另外一
- ★前言打开久违的Live Writer,又已经好久没写博客了,真的太懒了。废话不多说了,直接进入这次博客的主题--Timer。为什么要写这个
- 本文实例为大家分享了Android实现录音声波图的具体代码,供大家参考,具体内容如下图像类:package com.akm.test;/**
- Viewpager 横向滑动效果系统就自带了很多种,比如这个效果 那如果做成竖屏的这种效果呢 。我百度过很多,效果都不是很好,有的代码特别多
- 1 本地调试介绍本地调试: 这里是指在开发环境中,部署了一整套的某个项目或者产品的服务,开发人员开发时,本地会起一个或多个服务,这些服务和开
- 一、合并和拆分PDF文件的方式 PDF文件使用了工业标准的压缩算法,易于传输与储存。它还是页独立的,一个
- Android 实现记住用户名和密码的功能是通过SharedPreference 存储来实现的。创建一个复选按钮,通过按钮的否选取来进行事件
- 本文实例汇总了Java的System.getProperty()方法获取信息的用法。分享给大家供大家参考。具体如下:System.out.p
- 介绍POI提供API给Java程序对Microsoft Office格式档案读和写的功能。POI可以操作的文档格式有excel,word,p
- 前言在使用easyExcel读取文件时,对于Excel的表头,在解析读取时分成不同的状态,需要加以区分.1 环境准备准备一个可以正常访问的S
- SpringMVC RESTFul列表功能实现一、增加控制器方法在控制器类 EmployeeController 中,添加访问列表方法。@C
- 今天有位同事在使用System.err和System.out遇上了一些小问题.看了些资料总结下:1.JDK文档对两者的解释:out:“标准”
- Android Notification 使用方法详解用TaskStackBuilder来获取PendingIntent处理点击跳转到别的A
- C#重绘checkbox生成滑动开关,供大家参考,具体内容如下通过调用checkbox控件的paint事件,在重绘事件里判断checked属
- 在进行详解之前,我想先声明一下,本次我们进行讲解说明的是 Kafka 消息存储的信息文件内容,不是所谓的 Kafka 服务器运行产生的日志文