1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.persagy.cameractl.utils;
- import java.io.File;
- import java.util.Objects;
- import java.util.Timer;
- import java.util.concurrent.TimeUnit;
- /**
- * 定时程序,目前包括:定时清除生成的mp4文件
- *
- * @author zhangqiankun
- */
- public class TimerInterval {
- public static void startClearFileTimer() {
- Timer fileClearTimer = new Timer();
- // 0秒后开始响应函数,每隔五分钟执行一次
- fileClearTimer.schedule(new ClearTileTimer(), 0, 1000 * 60 * 20);
- };
- }
- class ClearTileTimer extends java.util.TimerTask {
-
- @Override
- public void run() {
- String dirString = OtherTools.getVideoFileDir();
- File dir = new File(dirString);
- if (!dir.exists() || !dir.isDirectory()) {// 判断是否存在目录
- return;
- }
- // 删除时间阈值
- long timeP = TimeUnit.MINUTES.toMillis(90);
- long currTime = System.currentTimeMillis();
- String[] files = dir.list(); // 读取目录下的所有目录文件信息
- for (int i = 0; i < Objects.requireNonNull(files).length; i++) {// 循环,添加文件名或回调自身
- File file = new File(dir, files[i]);
- long lastModTime = file.lastModified();
- // 超时的文件清除
- if (currTime - lastModTime > timeP) {
- file.delete();
- }
- }
- }
-
- }
|