From bf149056f8622f0f2a23028440f51b1d11cb1088 Mon Sep 17 00:00:00 2001 From: swamprat <92648744+convict-real@users.noreply.github.com> Date: Fri, 21 Apr 2023 14:29:35 -0500 Subject: [PATCH 1/2] made the success message show the successful icon --- src/main/java/me/nik/bootcleaner/Main.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/me/nik/bootcleaner/Main.java b/src/main/java/me/nik/bootcleaner/Main.java index 7a3716e..d89426a 100644 --- a/src/main/java/me/nik/bootcleaner/Main.java +++ b/src/main/java/me/nik/bootcleaner/Main.java @@ -57,7 +57,7 @@ public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Cleaned " + cleanedFiles + " temporary files", "BootCleaner", - JOptionPane.PLAIN_MESSAGE); + JOptionPane.SUCCESS_MESSAGE); } } -} \ No newline at end of file +} From 679e0cf62f19120c1f5e7cca1b4f93cf4a7f60a3 Mon Sep 17 00:00:00 2001 From: convict-real Date: Fri, 21 Apr 2023 15:39:56 -0500 Subject: [PATCH 2/2] basically recoded this whole program --- src/main/java/me/nik/bootcleaner/Config.java | 12 ++--- src/main/java/me/nik/bootcleaner/Main.java | 47 +++++++++---------- .../me/nik/bootcleaner/enums/Directories.java | 32 ------------- .../me/nik/bootcleaner/utils/MiscUtils.java | 2 +- 4 files changed, 26 insertions(+), 67 deletions(-) delete mode 100644 src/main/java/me/nik/bootcleaner/enums/Directories.java diff --git a/src/main/java/me/nik/bootcleaner/Config.java b/src/main/java/me/nik/bootcleaner/Config.java index 9ddd08c..93d42e4 100644 --- a/src/main/java/me/nik/bootcleaner/Config.java +++ b/src/main/java/me/nik/bootcleaner/Config.java @@ -5,11 +5,7 @@ public class Config { @ConfigurationOption - public static boolean emptyRecycleBin = true; - - @ConfigurationOption - public static boolean cleanDnsCache = true; - - @ConfigurationOption - public static boolean showMessage = true; -} \ No newline at end of file + public static boolean emptyRecycleBin = true, cleanDNSCache = true, clearWindowsTemp = true, cleanLocalTemp = true, + cleanPrefetch = true, cleanThumbnailCache = true, cleanCBSTemp = true, cleanWindowsLogs = true, + cleanFileExplorerCache = true, cleanNetCache = true, cleanDXShaderCache = true, cleanWindowsUpdateCache = true; +} diff --git a/src/main/java/me/nik/bootcleaner/Main.java b/src/main/java/me/nik/bootcleaner/Main.java index d89426a..fa2e5f0 100644 --- a/src/main/java/me/nik/bootcleaner/Main.java +++ b/src/main/java/me/nik/bootcleaner/Main.java @@ -1,16 +1,12 @@ package me.nik.bootcleaner; import me.nik.bootcleaner.config.ConfigurationBuilder; -import me.nik.bootcleaner.enums.Directories; import me.nik.bootcleaner.utils.FileUtils; import me.nik.bootcleaner.utils.MiscUtils; import javax.swing.*; import java.io.File; import java.io.IOException; -import java.util.Arrays; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.ExecutionException; public class Main { @@ -28,36 +24,35 @@ public static void main(String[] args) { System.exit(1); } - if (Config.cleanDnsCache) MiscUtils.executeCmdCommand("cmd /C start ipconfig /flushdns"); + File recycleBinPath = new File("%systemdrive%\\$RECYCLE.BIN"), windowsTempPath = new File("%systemdrive%\\Windows\\Temp"), + localTempPath = new File(MiscUtils.USER + "Appdata\\Local\\Temp"), prefetchPath = new File("%systemdrive%\\Windows\\Prefetch"), + thumbnailCachePath = new File(MiscUtils.USER + "Appdata\\Local\\Microsoft\\Windows\\Explorer"), cbsTempPath = new File("%systemdrive%\\Windows\\CbsTemp"), + windowsLogsPath = new File("%systemdrive%\\Windows\\Logs"), fileExplorerCachePath = new File(MiscUtils.USER + "Appdata\\Roaming\\Microsoft\\Windows\\Recent\\AutomaticDestinations"), + netCachePath = new File(MiscUtils.USER + "Appdata\\Local\\Microsoft\\Windows\\INetCache\\IE"), DXShaderCachePath = new File(MiscUtils.USER + "Appdata\\Local\\D3DSCache"), + windowsUpdateCachePath = new File("%systemdrive%\\Windows\\SoftwareDistribution\\Download"); - if (Config.emptyRecycleBin) MiscUtils.executeCmdCommand("cmd /C rd /s /q %systemdrive%\\$RECYCLE.BIN"); + if (Config.emptyRecycleBin) FileUtils.deleteFilesFromDirectory(recycleBinPath); - int cleanedFiles; + if (Config.cleanDNSCache) MiscUtils.executeCmdCommand("cmd /C start ipconfig /flushdns"); - //Execute the cleaning asynchronously - try { + if (Config.clearWindowsTemp) FileUtils.deleteFilesFromDirectory(windowsTempPath); - cleanedFiles = CompletableFuture - .supplyAsync(() -> Arrays.stream(Directories.values()) - .mapToInt(directory -> FileUtils.deleteFilesFromDirectory(new File(directory.getDirectory()))) - .sum()).get(); + if (Config.cleanLocalTemp) FileUtils.deleteFilesFromDirectory(localTempPath); - } catch (ExecutionException | InterruptedException e) { + if (Config.cleanPrefetch) FileUtils.deleteFilesFromDirectory(prefetchPath); - JOptionPane.showMessageDialog(null, - "Couldn't clean temporary files asynchronously", - "BootCleaner", - JOptionPane.ERROR_MESSAGE); + if (Config.cleanThumbnailCache) FileUtils.deleteFilesFromDirectory(thumbnailCachePath); - return; - } + if (Config.cleanCBSTemp) FileUtils.deleteFilesFromDirectory(cbsTempPath); - if (Config.showMessage) { + if (Config.cleanWindowsLogs) FileUtils.deleteFilesFromDirectory(windowsLogsPath); - JOptionPane.showMessageDialog(null, - "Cleaned " + cleanedFiles + " temporary files", - "BootCleaner", - JOptionPane.SUCCESS_MESSAGE); - } + if (Config.cleanFileExplorerCache) FileUtils.deleteFilesFromDirectory(fileExplorerCachePath); + + if (Config.cleanNetCache) FileUtils.deleteFilesFromDirectory(netCachePath); + + if (Config.cleanDXShaderCache) FileUtils.deleteFilesFromDirectory(DXShaderCachePath); + + if (Config.cleanWindowsUpdateCache) FileUtils.deleteFilesFromDirectory(windowsUpdateCachePath); } } diff --git a/src/main/java/me/nik/bootcleaner/enums/Directories.java b/src/main/java/me/nik/bootcleaner/enums/Directories.java deleted file mode 100644 index f3918c9..0000000 --- a/src/main/java/me/nik/bootcleaner/enums/Directories.java +++ /dev/null @@ -1,32 +0,0 @@ -package me.nik.bootcleaner.enums; - -import me.nik.bootcleaner.utils.MiscUtils; - -public enum Directories { - PREFETCH(MiscUtils.ROOT + "Windows\\Prefetch"), - THUMBNAIL_CACHE(MiscUtils.USER + "AppData\\Local\\Microsoft\\Windows\\Explorer"), - CBS_TEMP(MiscUtils.ROOT + "Windows\\CbsTemp"), - WINDOWS_LOGS(MiscUtils.ROOT + "Windows\\Logs"), - WINDOWS_TEMP(MiscUtils.ROOT + "Windows\\temp"), - FILE_EXPLORER_CACHE(MiscUtils.USER + "AppData\\Roaming\\Microsoft\\Windows\\Recent\\AutomaticDestinations"), - NET_CACHE(MiscUtils.USER + "AppData\\Local\\Microsoft\\Windows\\INetCache\\IE"), - - DIRECTX_SHADER_CACHE(MiscUtils.USER + "AppData\\Local\\D3DSCache"), - - WINDOWS_UPDATE_CACHE(MiscUtils.ROOT + "Windows\\SoftwareDistribution\\Download"), - TEMP(MiscUtils.USER + "AppData\\Local\\Temp"); - - private final String directory; - - Directories(String directory) { - this.directory = directory; - } - - public String getDirectory() { - return directory; - } - - public String getDirectoryType() { - return MiscUtils.capitalizeFirstLetter(this.toString()).replace("_", " "); - } -} \ No newline at end of file diff --git a/src/main/java/me/nik/bootcleaner/utils/MiscUtils.java b/src/main/java/me/nik/bootcleaner/utils/MiscUtils.java index c045cc1..7b0281c 100644 --- a/src/main/java/me/nik/bootcleaner/utils/MiscUtils.java +++ b/src/main/java/me/nik/bootcleaner/utils/MiscUtils.java @@ -34,4 +34,4 @@ public static void executeCmdCommand(final String value) { ); } } -} \ No newline at end of file +}