「java定时解除」java定时删除文件

博主:adminadmin 2022-11-30 22:12:10 75

今天给各位分享java定时解除的知识,其中也会对java定时删除文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java定时器怎么停止

1、scheduleUpdate

加入当前节点后,程序会每帧都会自动执行一次默认的Update函数。(注:一定是Update函数哦,若想调用其他自己命名的函数则使用schedule)

看例子,走起。

首先在HelloWord类的头文件中声明Update函数:

[cpp] view plain copy print?

void update(float dt); //注意参数类型

然后在HelloWorld类源文件中实现函数Update:

[cpp] view plain copy print?

void HelloWorld::update(float dt)

{

CCLOG("baibai");

}

现在我们可以调用了,在需要他不断执行的地方加入调用的代码就ok:

[cpp] view plain copy print?

this-scheduleUpdate(); //this是当前节点,如layer,所以可以省略啦。

运行之后你将会看到不断有baibai被打印出来

2、scheduleUpdate

可以没隔几秒执行某个自定义的函数,来看代码:

首先还是在HelloWorld中声明所要执行的函数:

java定时让线程停止

我这儿有一个过年前写的定时关机程序你可以拿去参考下~

程序里的取消功能跟你要的差不多

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.IOException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

/**

* 此类为定时关机的主界面类

* 这几天一直都在搞我的聊天程序,哎 但是技术问题,一直都做不走

* 之前一直都想写个定时关机程序,一直都是没时间,

* 现在那边做不走了,我就做做这个简单的,找点自信

* @author 程胜

* @date 09年1月24

* @address 家

* @version 0.1

*

*/

public class ShutDown extends JFrame{

private static final long serialVersionUID = 1L;

private JPanel pCenter=new JPanel();

private JPanel pNorth=new JPanel();

private JPanel pSouth=new JPanel();

private JButton bExit=new JButton("退出");

//用于显示当前时间

JLabel currentTime=new JLabel();

JButton bStart=new JButton("启动");

JButton bCancel=new JButton("取消");

JLabel info=new JLabel("请设定关机时间…………");

//此下拉框用于选择关机的小时

JComboBox hour=null;

//此下拉框用于先择关机的分钟

JComboBox minute=null;

/**

* 构造函数初始化界面

*/

public ShutDown(){

super("定时关机小程序verson0.1");

this.setSize(250,150);

addContent();

addEvent();

//改变大小不可用

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocationRelativeTo(this);

this.setVisible(true);

}

/**

* 为按钮添加事件监听

*/

private void addEvent() {

ActionListener buttonListen=new SetEvent();

bStart.addActionListener(buttonListen);

bCancel.addActionListener(buttonListen);

bExit.addActionListener(buttonListen);

}

/**

* 为界面添加内容

*/

private void addContent() {

//新建一个匿名线程,用于显示当前时间

new Thread(new Runnable(){

public void run(){

SimpleDateFormat sdf=new SimpleDateFormat("MM'月'dd'日'HH:mm:ss");

//Thread.interrupted()为判断线程是否中断

while(!Thread.interrupted()){

//获取当前时间

Calendar current=Calendar.getInstance();

ShutDown.this.currentTime.setText("当前时间为:"+sdf.format(current.getTime()));

try {

//休眠一秒

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

}).start();

//新建用于显示小时和分钟的字符串数组

String[] lHour=new String[24];

String[] lMinute=new String[60];

for(int i=0;i24;i++){

lHour[i]=i+"";

}

for(int i=0;i60;i++){

lMinute[i]=i+"";

}

hour=new JComboBox(lHour);

minute=new JComboBox(lMinute);

JLabel xiaoshi=new JLabel("时");

JLabel fen=new JLabel("分");

bCancel.setEnabled(false);

pNorth.setLayout(new FlowLayout());

pNorth.add(new JLabel("请设定关机时间:"));

pNorth.add(hour);pNorth.add(xiaoshi);

pNorth.add(minute);pNorth.add(fen);

pSouth.add(bStart);pSouth.add(bCancel);pSouth.add(bExit);

pCenter.setLayout(new GridLayout(2,1));

pCenter.add(currentTime);

pCenter.add(info);

this.add(pCenter,"Center");

this.add(pNorth,"North");

this.add(pSouth,"South");

}

/**

* @param args

*/

public static void main(String[] args) {

//设置外观

JFrame.setDefaultLookAndFeelDecorated(true);

new ShutDown();

}

/**

* 内置类,用于处理事件

* @author 程胜

*

*/

class SetEvent implements ActionListener{

//用于存放关机的操作类

private Shut shut=null;

private String hour="";

private String minute="";

//获得界面类

private ShutDown shutDown=ShutDown.this;

public void actionPerformed(ActionEvent e) {

//如果事件为启动按钮触发

if(e.getSource()==bStart){

//获取下拉框中的数据

hour=shutDown.hour.getSelectedItem().toString();

minute=shutDown.minute.getSelectedItem().toString();

handleStart();

}else{

//如果事件为取消按钮触发

if(e.getSource()==bCancel){

//取消操作

handleCancel();

}else{

//如果事件为退出按钮触发,则退出系统

System.exit(0);

}

}

}

/**

* 取消按钮的事件的处理方法

*/

private void handleCancel() {

//如果关机类还在活动

if(shut.isAlive()){

//停止关机类线程

shut.stop();

}

//修改界面显示

shutDown.info.setText("您取消了之前设定的定时关机!");

shutDown.hour.setEnabled(true);

shutDown.minute.setEnabled(true);

shutDown.bStart.setEnabled(true);

shutDown.bCancel.setEnabled(false);

}

/**

* 启动按钮的事件的处理方法

*/

private void handleStart() {

shutDown.info.setText("您设置的关机时间是"+(hour.length()==1?"0"+hour:hour)+"时"+(minute.length()==1?"0"+minute:minute)+"分");

shutDown.hour.setEnabled(false);

shutDown.minute.setEnabled(false);

shutDown.bStart.setEnabled(false);

shutDown.bCancel.setEnabled(true);

//新建并启动关机线程

shut=new Shut(Byte.parseByte(hour),Byte.parseByte(minute));

shut.start();

}

}

}

/**

* 此类为实现关机操作的类,是一个线程类

* @author Administrator

*

*/

class Shut extends Thread{

//获取当前日期及时间

private Calendar shutTime=Calendar.getInstance();

private Calendar currentTime;

private byte hour=0;

private byte minute=0;

public Shut(byte hour,byte minute){

this.hour=hour;

this.minute=minute;

}

/* 覆写run方法

*

*/

public void run(){

//调用关机时间处理方法

handleTime();

while(!Thread.interrupted()){

//循环获取系统时间

currentTime=Calendar.getInstance();

//如果关机时间在当前时间之前

if(shutTime.before(currentTime)){

//调用关机方法

shutDown();

//退出系统

System.exit(0);

}

try {

//线程休眠一秒

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}

/**

* 关机方法

*/

private void shutDown() {

String shutdown="shutdown -s";

Runtime rt=Runtime.getRuntime();

try {

rt.exec(shutdown);

} catch (IOException e) {

e.printStackTrace();

}

}

/**

* 用于计算关机的时间

*/

private void handleTime() {

java.util.Date date=new java.util.Date();

if(date.getHours()hour){

date.setDate(date.getDate()+1);

}if(date.getHours()==hour){

if(date.getMinutes()minute){

date.setDate(date.getDate()+1);

}

}

date.setHours(hour);date.setMinutes(minute);

date.setSeconds(0);

shutTime.setTime(date);

}

}

java 关于定时器timer取消任务的提问

定义一个flag变量,比如 boolean flag = true;

循环体里面判断flag为true时继续,否则返回。

再定义一个触发器来控制flag的值即可。

java定时任务没有执行完又到执行时间了

代码错误。多数是代码错误导致java定时任务没有执行完又到执行时间了。

1、首先打开java检查代码是否错误。

2、其次打开网络诊断器进行测试网络连接是否异常。

3、最后点击重新运行java即可。

java如何让一个定时器终止一段时间

java中让定时器终止的方法是使用timer的cancel方法,实例如下:

import java.util.Timer;

import java.util.TimerTask;

public class Main {

  Timer timer;

  public Main(int seconds) {

    timer = new Timer();

    timer.schedule(new ToDoTask(), seconds * 1000);//定时器开始执行

  }

  class ToDoTask extends TimerTask {

    public void run() {

      System.out.println("working");

      timer.cancel(); //定时器终止

    }

  }

  public static void main(String args[]) {

    new Main(5);

  }

}

java方法中怎么把定时器关掉,关不掉啊

task1.cancel(); // 将任务取消。

tt.purge(); //  移除定时器中已经取消的任务

tt.cancel(); // 取消定时器

java定时解除的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java定时删除文件、java定时解除的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。