diff options
author | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-02-27 15:44:55 -0500 |
---|---|---|
committer | Aaron <51387595+AzureAaron@users.noreply.github.com> | 2024-02-27 15:45:09 -0500 |
commit | a087eb62b5a79e3f5b05676ce9cbd70c89c8ba9e (patch) | |
tree | 8010f762f883a10cd9c8e283e9332ca579b2f3c4 /src/main/java/de/hysky/skyblocker/utils/FileUtils.java | |
parent | 6f16df3f8049e27fa0d52a335c152d47aaf10428 (diff) | |
download | Skyblocker-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.java | 36 |
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_.-]", ""); + } +} |