Package net.minecraft.util
Class PathUtil
java.lang.Object
net.minecraft.util.PathUtil
A class holding path-related utility methods.
- Mappings:
Namespace Name named net/minecraft/util/PathUtilintermediary net/minecraft/class_4239official v
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcreateDirectories(Path path) A symbolic-link safe version ofFiles.createDirectories(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...).static StringgetNextUniqueName(Path path, String name, String extension) Returns a filename, prefixed withname, that does not currently exist insidepath.static PathReturnspathsresolved as a path fromroot.static StringgetPosixFullPath(String path) Returns the full path ofpathwith directory separator normalized to/.static PathgetResourcePath(Path path, String resourceName, String extension) static booleanisAllowedName(Path path) Returns whetherpathdoes not contain reserved Windows file names.static booleanisFileNameValid(String name) Returns whethernameis a valid file name.static booleanReturns whetherpathis already normalized.static StringnormalizeToPosix(String path) Returns the normalized path ofpathwith directory separator normalized to/.static StringreplaceInvalidChars(String fileName) Returnspathsplit by/, or an error result if the path is invalid.static voidvalidatePath(String[] paths) Validates thatpathsis not empty and does not contain invalid segments (such as.,.., or otherwise invalid names).
-
Field Details
-
FILE_NAME_WITH_COUNT
- Mappings:
Namespace Name Mixin selector named FILE_NAME_WITH_COUNTLnet/minecraft/util/PathUtil;FILE_NAME_WITH_COUNT:Ljava/util/regex/Pattern;intermediary field_18956Lnet/minecraft/class_4239;field_18956:Ljava/util/regex/Pattern;official aLv;a:Ljava/util/regex/Pattern;
-
MAX_NAME_LENGTH
private static final int MAX_NAME_LENGTH- See Also:
- Mappings:
Namespace Name Mixin selector named MAX_NAME_LENGTHLnet/minecraft/util/PathUtil;MAX_NAME_LENGTH:Iintermediary field_33384Lnet/minecraft/class_4239;field_33384:Iofficial bLv;b:I
-
RESERVED_WINDOWS_NAMES
- Mappings:
Namespace Name Mixin selector named RESERVED_WINDOWS_NAMESLnet/minecraft/util/PathUtil;RESERVED_WINDOWS_NAMES:Ljava/util/regex/Pattern;intermediary field_18955Lnet/minecraft/class_4239;field_18955:Ljava/util/regex/Pattern;official cLv;c:Ljava/util/regex/Pattern;
-
VALID_FILE_NAME
- Mappings:
Namespace Name Mixin selector named VALID_FILE_NAMELnet/minecraft/util/PathUtil;VALID_FILE_NAME:Ljava/util/regex/Pattern;intermediary field_40712Lnet/minecraft/class_4239;field_40712:Ljava/util/regex/Pattern;official dLv;d:Ljava/util/regex/Pattern;
-
-
Constructor Details
-
PathUtil
public PathUtil()
-
-
Method Details
-
replaceInvalidChars
- Mappings:
Namespace Name Mixin selector named replaceInvalidCharsLnet/minecraft/util/PathUtil;replaceInvalidChars(Ljava/lang/String;)Ljava/lang/String;intermediary method_61105Lnet/minecraft/class_4239;method_61105(Ljava/lang/String;)Ljava/lang/String;official aLv;a(Ljava/lang/String;)Ljava/lang/String;
-
getNextUniqueName
Returns a filename, prefixed withname, that does not currently exist insidepath.- Returns:
- a filename, prefixed with
name, that does not currently exist insidepath - Throws:
IOException- if creating the temporary directory fails, e.g. due topathnot being a directory- Implementation Note:
- This strips any illegal characters from
name, then attempts to make a directory with the name and the extension. If this succeeds, the directory is deleted and the name with the extension is returned. If not, it appends(1)to the name and tries again until it succeeds. - Mappings:
Namespace Name Mixin selector named getNextUniqueNameLnet/minecraft/util/PathUtil;getNextUniqueName(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;intermediary method_19773Lnet/minecraft/class_4239;method_19773(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;official aLv;a(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-
isNormal
Returns whetherpathis already normalized.- Returns:
- whether
pathis already normalized - Mappings:
Namespace Name Mixin selector named isNormalLnet/minecraft/util/PathUtil;isNormal(Ljava/nio/file/Path;)Zintermediary method_20200Lnet/minecraft/class_4239;method_20200(Ljava/nio/file/Path;)Zofficial aLv;a(Ljava/nio/file/Path;)Z
-
isAllowedName
Returns whetherpathdoes not contain reserved Windows file names.- Returns:
- whether
pathdoes not contain reserved Windows file names - API Note:
- This returns
falsefor reserved names regardless of whether the platform the game is running is actually Windows. Note that this does not check for illegal characters or file permissions. - Mappings:
Namespace Name Mixin selector named isAllowedNameLnet/minecraft/util/PathUtil;isAllowedName(Ljava/nio/file/Path;)Zintermediary method_20201Lnet/minecraft/class_4239;method_20201(Ljava/nio/file/Path;)Zofficial bLv;b(Ljava/nio/file/Path;)Z
-
getResourcePath
- Mappings:
Namespace Name Mixin selector named getResourcePathLnet/minecraft/util/PathUtil;getResourcePath(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;intermediary method_20202Lnet/minecraft/class_4239;method_20202(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;official bLv;b(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;
-
getPosixFullPath
Returns the full path ofpathwith directory separator normalized to/.- Returns:
- the full path of
pathwith directory separator normalized to/ - Mappings:
Namespace Name Mixin selector named getPosixFullPathLnet/minecraft/util/PathUtil;getPosixFullPath(Ljava/lang/String;)Ljava/lang/String;intermediary method_34675Lnet/minecraft/class_4239;method_34675(Ljava/lang/String;)Ljava/lang/String;official bLv;b(Ljava/lang/String;)Ljava/lang/String;
-
normalizeToPosix
Returns the normalized path ofpathwith directory separator normalized to/.- Returns:
- the normalized path of
pathwith directory separator normalized to/ - Mappings:
Namespace Name Mixin selector named normalizeToPosixLnet/minecraft/util/PathUtil;normalizeToPosix(Ljava/lang/String;)Ljava/lang/String;intermediary method_34676Lnet/minecraft/class_4239;method_34676(Ljava/lang/String;)Ljava/lang/String;official cLv;c(Ljava/lang/String;)Ljava/lang/String;
-
split
Returnspathsplit by/, or an error result if the path is invalid.All path segments must be a valid file name. Additionally,
.and..are forbidden.- Returns:
pathsplit by/, or an error result if the path is invalid- Mappings:
Namespace Name Mixin selector named splitLnet/minecraft/util/PathUtil;split(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;intermediary method_46346Lnet/minecraft/class_4239;method_46346(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;official dLv;d(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;
-
getPath
Returnspathsresolved as a path fromroot.If
pathsis empty, this returnsroot.- Returns:
pathsresolved as a path fromroot- Mappings:
Namespace Name Mixin selector named getPathLnet/minecraft/util/PathUtil;getPath(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path;intermediary method_46344Lnet/minecraft/class_4239;method_46344(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path;official aLv;a(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path;
-
isFileNameValid
Returns whethernameis a valid file name.- Returns:
- whether
nameis a valid file name - API Note:
- A valid file name contains only ASCII lowercase alphabets, ASCII digits,
a dot, or an underscore. Unlike
Identifierpaths, hyphens are not allowed. - Mappings:
Namespace Name Mixin selector named isFileNameValidLnet/minecraft/util/PathUtil;isFileNameValid(Ljava/lang/String;)Zintermediary method_46347Lnet/minecraft/class_4239;method_46347(Ljava/lang/String;)Zofficial eLv;e(Ljava/lang/String;)Z
-
validatePath
Validates thatpathsis not empty and does not contain invalid segments (such as.,.., or otherwise invalid names).- Throws:
IllegalArgumentException- when thepathsare invalid- Mappings:
Namespace Name Mixin selector named validatePathLnet/minecraft/util/PathUtil;validatePath([Ljava/lang/String;)Vintermediary method_46345Lnet/minecraft/class_4239;method_46345([Ljava/lang/String;)Vofficial aLv;a([Ljava/lang/String;)V
-
createDirectories
A symbolic-link safe version ofFiles.createDirectories(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...).- Throws:
IOException- Mappings:
Namespace Name Mixin selector named createDirectoriesLnet/minecraft/util/PathUtil;createDirectories(Ljava/nio/file/Path;)Vintermediary method_47525Lnet/minecraft/class_4239;method_47525(Ljava/nio/file/Path;)Vofficial cLv;c(Ljava/nio/file/Path;)V
-