gpt4 book ai didi

java - 在一周的某些时间之间停止程序执行

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:49:15 27 4
gpt4 key购买 nike

我正在编写一个 Java 程序,需要在以下时间之间复制文件和文件夹:

Mon - 18:00 to 06:30
Tue - 18:00 to 06:30
Wed - 18:00 to 06:30
Thu - 18:00 to 06:30
Fri - 18:00 to 06:30
Sat - all day
Sun - all day

程序将连续运行,直到完成所有文件和文件夹的复制。然而,在上述时间之外,程序应该只是 hibernate 。

我正在使用属性文件来存储上述设置。

更新

我正在寻找最简单的实现,包括属性文件中属性的格式以及进行检查的代码。

最佳答案

我会这样做

    final Map<Integer, String> schedule = new HashMap<>();
// parse your settings and fill schedule
schedule.put(Calendar.MONDAY, "18:00 to 06:30");
// ...
// create timer to fire e.g. every hour
new Timer().scheduleAtFixedRate(new TimerTask() {
public void run() {
Calendar c = Calendar.getInstance();
String s = schedule.get(c.get(Calendar.DAY_OF_WEEK));
if (withinTimeRange(c, s)) { // implement withinTimeRange func
// copy files
}
}}, 0, 1000 * 3600);

关于java - 在一周的某些时间之间停止程序执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16418307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com