aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/utils/FileUtils.java
diff options
context:
space:
mode:
authorAaron <51387595+AzureAaron@users.noreply.github.com>2024-02-27 15:44:55 -0500
committerAaron <51387595+AzureAaron@users.noreply.github.com>2024-02-27 15:45:09 -0500
commita087eb62b5a79e3f5b05676ce9cbd70c89c8ba9e (patch)
tree8010f762f883a10cd9c8e283e9332ca579b2f3c4 /src/main/java/de/hysky/skyblocker/utils/FileUtils.java
parent6f16df3f8049e27fa0d52a335c152d47aaf10428 (diff)
downloadSkyblocker-a087eb62b5a79e3f5b05676ce9cbd70c89c8ba9e.tar.gz
Skyblocker-a087eb62b5a79e3f5b05676ce9cbd70c89c8ba9e.tar.bz2
Skyblocker-a087eb62b5a79e3f5b05676ce9cbd70c89c8ba9e.zip
Image Repo Loader
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/utils/FileUtils.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/FileUtils.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/java/de/hysky/skyblocker/utils/FileUtils.java b/src/main/java/de/hysky/skyblocker/utils/FileUtils.java
new file mode 100644
index 00000000..22611441
--- /dev/null
+++ b/src/main/java/de/hysky/skyblocker/utils/FileUtils.java
@@ -0,0 +1,36 @@
+package de.hysky.skyblocker.utils;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+
+import org.slf4j.Logger;
+
+import com.mojang.logging.LogUtils;
+
+public class FileUtils {
+ private static final Logger LOGGER = LogUtils.getLogger();
+
+ public static void recursiveDelete(Path dir) throws IOException {
+ if (Files.isDirectory(dir) && !Files.isSymbolicLink(dir)) {
+ Files.list(dir).forEach(child -> {
+ try {
+ recursiveDelete(child);
+ } catch (Exception e) {
+ LOGGER.error("[Skyblocker] Encountered an exception while deleting a file! Path: {}", child.toAbsolutePath(), e);
+ }
+ });
+ }
+
+ Files.delete(dir);
+ }
+
+ /**
+ * Replaces any characters that do not match the regex: [^a-z0-9_.-]
+ *
+ * @implNote Designed to convert a file path to an {@link net.minecraft.util.Identifier}
+ */
+ public static String normalizePath(Path path) {
+ return path.toString().toLowerCase().replaceAll("[^a-z0-9_.-]", "");
+ }
+}