From 1e92783401f508fae6c7dc91859d7453f119ee1e Mon Sep 17 00:00:00 2001 From: "Begerad, Stefan" Date: Sun, 8 Aug 2021 00:59:31 -0400 Subject: [PATCH] feat(files-age-rm): delete file with age > x --- .../java/de/begerad/fileagerm/FileList.java | 20 ++++++++++++--- .../main/java/de/begerad/fileagerm/Main.java | 25 +++++++++++++------ 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/files-age-rm/src/main/java/de/begerad/fileagerm/FileList.java b/files-age-rm/src/main/java/de/begerad/fileagerm/FileList.java index f0f383b..643ed2d 100644 --- a/files-age-rm/src/main/java/de/begerad/fileagerm/FileList.java +++ b/files-age-rm/src/main/java/de/begerad/fileagerm/FileList.java @@ -14,7 +14,6 @@ public class FileList { } /** - * * @return set containing list of file paths */ public Set listFilesUsingJavaIO() { @@ -25,8 +24,7 @@ public class FileList { } /** - * - * @return array containing list of file names + * @return array containing list of File objects */ public File[] listFilesUsingFileFilter() { //Creating a File object for directory @@ -40,4 +38,20 @@ public class FileList { return dir.listFiles(fileFilter); } + + /** + * @return array containing list of File objects + */ + public static File[] listFiles(String directory) { + //Creating a File object for directory + File dir = new File(directory); + //Creating filter for directory files + FileFilter fileFilter = new FileFilter() { + public boolean accept(File dir) { + return dir.isFile(); + } + }; + + return dir.listFiles(fileFilter); + } } diff --git a/files-age-rm/src/main/java/de/begerad/fileagerm/Main.java b/files-age-rm/src/main/java/de/begerad/fileagerm/Main.java index 18f9a4d..1133863 100644 --- a/files-age-rm/src/main/java/de/begerad/fileagerm/Main.java +++ b/files-age-rm/src/main/java/de/begerad/fileagerm/Main.java @@ -18,22 +18,24 @@ public class Main { File directory = new File(dirWay); if (directory.exists()) { - File[] listFiles = directory.listFiles(); + //File[] listFiles = directory.listFiles(); + File[] listFiles = FileList.listFiles(dirWay); + LOG.debug("listFiles.length: {}", listFiles.length); long purgeTime = System.currentTimeMillis() - (daysBack * 24 * 60 * 60 * 1000); for (File listFile : listFiles) { if (listFile.lastModified() < purgeTime) { if (!listFile.delete()) { - System.err.println("Unable to delete file: " + listFile); - Main.LOG.error("file could NOT be deleted: {}", listFiles); + System.err.println("Unable to delete file: " + listFile.getName()); + Main.LOG.error("file could NOT be deleted: {}", listFile.getName()); } else { - + LOG.debug("file deleted: {}", listFile.getName()); } } else { - Main.LOG.debug("file is too young to be deleted"); + Main.LOG.debug("file is too young to be deleted: {}", listFile.getName()); } } } else { - Main.LOG.warn("directory does not exist"); + Main.LOG.warn("directory does not exist: {}", directory); } } @@ -66,8 +68,15 @@ public class Main { File[] list = fileList.listFilesUsingFileFilter(); LOG.debug("List of files in the specified directory:"); if (list != null) { - for (File fileName : list) { - LOG.debug("{}", fileName); + for (File file : list) { + LOG.debug("file name: {}", file.getName()); + LOG.debug("file path: {}", file.getPath()); + LOG.debug("file abs path: {}", file.getAbsolutePath()); + try { + LOG.debug("file can path: {}", file.getCanonicalPath()); + } catch (IOException e) { + e.printStackTrace(); + } } } else { LOG.warn("List of files is empty");