X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2FCache.java;h=13a50ea92219663a379eb58d7956237217a3f49a;hb=a5d976cda8048c53a4b4fdeee458eab05959bec5;hp=2b32d78d67c03d20ba94148b8f92b2f7bdabda23;hpb=e8aa5bf9227a0d6a6d0bb6a8bc0cc04d0f4d601a;p=nikiroo-utils.git diff --git a/src/be/nikiroo/utils/Cache.java b/src/be/nikiroo/utils/Cache.java index 2b32d78..13a50ea 100644 --- a/src/be/nikiroo/utils/Cache.java +++ b/src/be/nikiroo/utils/Cache.java @@ -47,8 +47,8 @@ public class Cache { public Cache(File dir, int hoursChanging, int hoursStable) throws IOException { this.dir = dir; - this.tooOldChanging = 1000 * 60 * 60 * hoursChanging; - this.tooOldStable = 1000 * 60 * 60 * hoursStable; + this.tooOldChanging = 1000L * 60 * 60 * hoursChanging; + this.tooOldStable = 1000L * 60 * 60 * hoursStable; if (dir != null && !dir.exists()) { dir.mkdirs(); @@ -135,7 +135,12 @@ public class Cache { */ private boolean check(File cached, boolean allowTooOld, boolean stable) { if (cached.exists() && cached.isFile()) { - if (allowTooOld || !isOld(cached, stable)) { + if (!allowTooOld && isOld(cached, stable)) { + if (!cached.delete()) { + tracer.error("Cannot delete temporary file: " + + cached.getAbsolutePath()); + } + } else { return true; } } @@ -169,16 +174,19 @@ public class Cache { */ private int clean(boolean onlyOld, File cacheDir) { int num = 0; - for (File file : cacheDir.listFiles()) { - if (file.isDirectory()) { - num += clean(onlyOld, file); - } else { - if (!onlyOld || isOld(file, true)) { - if (file.delete()) { - num++; - } else { - tracer.error("Cannot delete temporary file: " - + file.getAbsolutePath()); + File[] files = cacheDir.listFiles(); + if (files != null) { + for (File file : files) { + if (file.isDirectory()) { + num += clean(onlyOld, file); + } else { + if (!onlyOld || isOld(file, true)) { + if (file.delete()) { + num++; + } else { + tracer.error("Cannot delete temporary file: " + + file.getAbsolutePath()); + } } } }