怎么做定时删除文件夹和删除后重新生成文件夹
比如我想在 23时59分钟的时候删除文件夹 删除后顺便重新生成
比如我想在 23时59分钟的时候删除文件夹 删除后顺便重新生成
 本帖最后由 2000000 于 2022-12-10 17:07 编辑 
创建一个类 extends java.util.TimerTask 实现 run 方法,run 方法内写您想做的事
创建一个类 extends java.util.TimerTask 实现 run 方法,run 方法内写您想做的事
new Timer().schedule(new TimerTask(), Data);
Bukkit.GetSchedule.runTaskLater(Plugin,()->{},delay)
FallingCreams 发表于 2022-12-10 18:48
Bukkit.GetSchedule.runTaskLater(Plugin,()->{},delay)
你给出的是 Bukkit Scheduler 按照刻计算的
楼主想要的应该是 Java Timer 按照现实生活中的秒计算的
这很简单
循环获取 本地时间
判断时间 是不是到了23时59分 如果真 删除文件夹 并创建新的文件夹
循环获取 本地时间
判断时间 是不是到了23时59分 如果真 删除文件夹 并创建新的文件夹
teddyxlandlee 发表于 2022-12-15 11:53
你这不卡吗?还得单独开个线程。
楼上说的 java.util.TimerTask 不乏一个很好的思路。 ...
TimerTask 就不用线程了吗
 本帖最后由 无谓狗蛋 于 2023-2-23 13:32 编辑 
是这样的,直接创建period为1天的循环任务貌似不太行,毕竟你的服务器并不能达到严格的TPS=20。如楼上所说创建一个循环任务,让period为40/50s(留一些容错) 然后去判断Date是不是23时59分,这样既保证他是只执行一次而又不频繁
复制代码
是这样的,直接创建period为1天的循环任务貌似不太行,毕竟你的服务器并不能达到严格的TPS=20。如楼上所说创建一个循环任务,让period为40/50s(留一些容错) 然后去判断Date是不是23时59分,这样既保证他是只执行一次而又不频繁
- public void run() {
 
-         Calendar time = Calendar.getInstance();
 
- if (time.get(Calendar.HOUR_OF_DAY) == XX && time.get(Calendar.MINUTE) == XX) {//要执行的代码}}