protected void cleanByPeriodOffset(Date now, int periodOffset) { Date date2delete = rc.getRelativeDate(now, periodOffset); String filename = fileNamePattern.convert(date2delete); File file2Delete = new File(filename); if (file2Delete.exists() && file2Delete.isFile()) { file2Delete.delete(); addInfo("deleting " + file2Delete); if (parentClean) { removeFolderIfEmpty(file2Delete.getParentFile()); } } }
void removeFolderIfEmpty(File dir) { removeFolderIfEmpty(dir, 0); }
void removeFolderIfEmpty(File dir) { removeFolderIfEmpty(dir, 0); }
void removeFolderIfEmpty(File dir) { removeFolderIfEmpty(dir, 0); }
protected void cleanByPeriodOffset(Date now, int periodOffset) { Date date2delete = rc.getRelativeDate(now, periodOffset); String filename = fileNamePattern.convert(date2delete); File file2Delete = new File(filename); if (file2Delete.exists() && file2Delete.isFile()) { file2Delete.delete(); addInfo("deleting " + file2Delete); if (parentClean) { removeFolderIfEmpty(file2Delete.getParentFile()); } } }
protected void cleanByPeriodOffset(Date now, int periodOffset) { Date date2delete = rc.getRelativeDate(now, periodOffset); String filename = fileNamePattern.convert(date2delete); File file2Delete = new File(filename); if (file2Delete.exists() && file2Delete.isFile()) { file2Delete.delete(); addInfo("deleting " + file2Delete); if (parentClean) { removeFolderIfEmpty(file2Delete.getParentFile()); } } }
/** * Will remove the directory passed as parameter if empty. After that, if the * parent is also becomes empty, remove the parent dir as well but at most 3 * times. * * @param dir * @param depth */ private void removeFolderIfEmpty(File dir, int depth) { // we should never go more than 3 levels higher if (depth >= 3) { return; } if (dir.isDirectory() && FileFilterUtil.isEmptyDirectory(dir)) { addInfo("deleting folder [" + dir + "]"); dir.delete(); removeFolderIfEmpty(dir.getParentFile(), depth + 1); } }
/** * Will remove the directory passed as parameter if empty. After that, if the * parent is also becomes empty, remove the parent dir as well but at most 3 * times. * * @param dir * @param depth */ private void removeFolderIfEmpty(File dir, int depth) { // we should never go more than 3 levels higher if (depth >= 3) { return; } if (dir.isDirectory() && FileFilterUtil.isEmptyDirectory(dir)) { addInfo("deleting folder [" + dir + "]"); dir.delete(); removeFolderIfEmpty(dir.getParentFile(), depth + 1); } }
protected void cleanByPeriodOffset(Date now, int periodOffset) { Date date2delete = rc.getRelativeDate(now, periodOffset); String filename = fileNamePattern.convert(date2delete); File file2Delete = new File(filename); if (file2Delete.exists() && file2Delete.isFile()) { Date fileLastModified = rc.getRelativeDate(new Date(file2Delete.lastModified()), -1); if (fileLastModified.compareTo(date2delete) <= 0) { addInfo("deleting " + file2Delete); file2Delete.delete(); if (parentClean) { removeFolderIfEmpty(file2Delete.getParentFile()); } } } }
/** * Will remove the directory passed as parameter if empty. After that, if the * parent is also becomes empty, remove the parent dir as well but at most 3 * times. * * @param dir * @param depth */ private void removeFolderIfEmpty(File dir, int depth) { // we should never go more than 3 levels higher if (depth >= 3) { return; } if (dir.isDirectory() && FileFilterUtil.isEmptyDirectory(dir)) { addInfo("deleting folder [" + dir + "]"); dir.delete(); removeFolderIfEmpty(dir.getParentFile(), depth + 1); } }
public void cleanPeriod(Date dateOfPeriodToClean) { File[] matchingFileArray = getFilesInPeriod(dateOfPeriodToClean); for (File f : matchingFileArray) { addInfo("deleting " + f); f.delete(); } if (parentClean && matchingFileArray.length > 0) { File parentDir = getParentDir(matchingFileArray[0]); removeFolderIfEmpty(parentDir); } }
public void cleanPeriod(Date dateOfPeriodToClean) { File[] matchingFileArray = getFilesInPeriod(dateOfPeriodToClean); for (File f : matchingFileArray) { addInfo("deleting " + f); f.delete(); } if (parentClean && matchingFileArray.length > 0) { File parentDir = getParentDir(matchingFileArray[0]); removeFolderIfEmpty(parentDir); } }
public void cleanPeriod(Date dateOfPeriodToClean) { File[] matchingFileArray = getFilesInPeriod(dateOfPeriodToClean); for (File f : matchingFileArray) { addInfo("deleting " + f); f.delete(); } if (parentClean && matchingFileArray.length > 0) { File parentDir = getParentDir(matchingFileArray[0]); removeFolderIfEmpty(parentDir); } }