Package net.minecraft.util
Class PathUtil
java.lang.Object
net.minecraft.util.PathUtil
A class holding path-related utility methods.
- Mappings:
Namespace Name official vintermediary net/minecraft/class_4239named net/minecraft/util/PathUtil
-
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/.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 official aLv;a:Ljava/util/regex/Pattern;intermediary field_18956Lnet/minecraft/class_4239;field_18956:Ljava/util/regex/Pattern;named FILE_NAME_WITH_COUNTLnet/minecraft/util/PathUtil;FILE_NAME_WITH_COUNT:Ljava/util/regex/Pattern;
-
MAX_NAME_LENGTH
private static final int MAX_NAME_LENGTH- See Also:
- Mappings:
Namespace Name Mixin selector official bLv;b:Iintermediary field_33384Lnet/minecraft/class_4239;field_33384:Inamed MAX_NAME_LENGTHLnet/minecraft/util/PathUtil;MAX_NAME_LENGTH:I
-
RESERVED_WINDOWS_NAMES
- Mappings:
Namespace Name Mixin selector official cLv;c:Ljava/util/regex/Pattern;intermediary field_18955Lnet/minecraft/class_4239;field_18955:Ljava/util/regex/Pattern;named RESERVED_WINDOWS_NAMESLnet/minecraft/util/PathUtil;RESERVED_WINDOWS_NAMES:Ljava/util/regex/Pattern;
-
VALID_FILE_NAME
- Mappings:
Namespace Name Mixin selector official dLv;d:Ljava/util/regex/Pattern;intermediary field_40712Lnet/minecraft/class_4239;field_40712:Ljava/util/regex/Pattern;named VALID_FILE_NAMELnet/minecraft/util/PathUtil;VALID_FILE_NAME:Ljava/util/regex/Pattern;
-
-
Constructor Details
-
PathUtil
public PathUtil()
-
-
Method Details
-
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 official aLv;a(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;named getNextUniqueNameLnet/minecraft/util/PathUtil;getNextUniqueName(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 official aLv;a(Ljava/nio/file/Path;)Zintermediary method_20200Lnet/minecraft/class_4239;method_20200(Ljava/nio/file/Path;)Znamed isNormalLnet/minecraft/util/PathUtil;isNormal(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 official bLv;b(Ljava/nio/file/Path;)Zintermediary method_20201Lnet/minecraft/class_4239;method_20201(Ljava/nio/file/Path;)Znamed isAllowedNameLnet/minecraft/util/PathUtil;isAllowedName(Ljava/nio/file/Path;)Z
-
getResourcePath
- Mappings:
Namespace Name Mixin selector official bLv;b(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;named getResourcePathLnet/minecraft/util/PathUtil;getResourcePath(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 official aLv;a(Ljava/lang/String;)Ljava/lang/String;intermediary method_34675Lnet/minecraft/class_4239;method_34675(Ljava/lang/String;)Ljava/lang/String;named getPosixFullPathLnet/minecraft/util/PathUtil;getPosixFullPath(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 official bLv;b(Ljava/lang/String;)Ljava/lang/String;intermediary method_34676Lnet/minecraft/class_4239;method_34676(Ljava/lang/String;)Ljava/lang/String;named normalizeToPosixLnet/minecraft/util/PathUtil;normalizeToPosix(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 official cLv;c(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;intermediary method_46346Lnet/minecraft/class_4239;method_46346(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;named splitLnet/minecraft/util/PathUtil;split(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 official aLv;a(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;named getPathLnet/minecraft/util/PathUtil;getPath(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 official dLv;d(Ljava/lang/String;)Zintermediary method_46347Lnet/minecraft/class_4239;method_46347(Ljava/lang/String;)Znamed isFileNameValidLnet/minecraft/util/PathUtil;isFileNameValid(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 official aLv;a([Ljava/lang/String;)Vintermediary method_46345Lnet/minecraft/class_4239;method_46345([Ljava/lang/String;)Vnamed validatePathLnet/minecraft/util/PathUtil;validatePath([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 official cLv;c(Ljava/nio/file/Path;)Vintermediary method_47525Lnet/minecraft/class_4239;method_47525(Ljava/nio/file/Path;)Vnamed createDirectoriesLnet/minecraft/util/PathUtil;createDirectories(Ljava/nio/file/Path;)V
-