小渣飞、
2020-12-26 20:15
采纳率: 90.3%
浏览 22
已结题

请问这段代码如何在 JavaWeb 项目运行时自动运行?

这段代码主要是每隔三分钟删除一个文本文件,请问如何在服务器运行时自动运行它?

 

public class DocumentQueue extends Thread{

    public static final HashMap<File, Long> DATA_MAP = new HashMap<>();
    private static final long THRESHOLD = 180000;

    @Override
    @SuppressWarnings("InfiniteLoopStatement")
    public void run() {
        while (true){
            if (!DATA_MAP.isEmpty()){
                Set<File> keys = DATA_MAP.keySet();
                long createTime = System.currentTimeMillis();
                for (File key : keys) {
                    if (createTime - DATA_MAP.get(key) > THRESHOLD){
                        if (key.exists() && key.isFile()){
                            if (key.delete()) {
                                DATA_MAP.remove(key);
                            }
                        }
                    }
                }
            }
            try {
                sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

3条回答 默认 最新

相关推荐 更多相似问题