source: other-projects/the-macronizer/trunk/src/java/tasks/FileSweeper.java@ 29855

Last change on this file since 29855 was 29855, checked in by davidb, 9 years ago

John's code after refactoring by Tom over the summer of 2014/2015

File size: 1.3 KB
Line 
1
2package tasks;
3
4import java.io.File;
5import java.util.Calendar;
6import java.util.TimerTask;
7import util.FileUtil;
8
9/**
10 * Sweeps the temp directory for old temp files
11 * @author University of Waikato - Te Whare Wānanga o Waikato
12 * @version 1.0
13 * @since 2014-11-21
14 */
15public class FileSweeper extends TimerTask {
16
17 private final File directory;
18 private final int minutes;
19
20 /**
21 * @param File directory to be sweeped for old temp files.
22 * @param int minutes between sweepings
23 */
24 public FileSweeper(File directoryToSweep, int minutes) {
25 FileUtil.checkValidDir(directoryToSweep);
26 directory = directoryToSweep;
27 this.minutes = minutes;
28 }
29
30 @Override
31 /**
32 * Runs
33 */
34 public void run() {
35 Calendar cal = Calendar.getInstance();
36 cal.add(Calendar.MINUTE, minutes * -1);
37 long purgeTime = cal.getTimeInMillis();
38 sweep(purgeTime);
39 }
40
41 /**
42 * Runs a sweep over the temp file directory.
43 * @param long if a files last modified time is lest then this purge time it will be delete
44 */
45 private void sweep(long purgeTime) {
46 final File[] listFiles = directory.listFiles();
47 for (File file : listFiles) {
48 if (file.lastModified() < purgeTime) {
49 FileUtil.deleteFile(file);
50 }
51 }
52 }
53}
Note: See TracBrowser for help on using the repository browser.