Package net.minecraft.util
Class PathUtil
java.lang.Object
net.minecraft.util.PathUtil
A class holding path-related utility methods.
- Mappings:
Namespace Name official u
intermediary net/minecraft/class_4239
named net/minecraft/util/PathUtil
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
createDirectories
(Path path) A symbolic-link safe version ofFiles.createDirectories(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...)
.static String
getNextUniqueName
(Path path, String name, String extension) Returns a filename, prefixed withname
, that does not currently exist insidepath
.static Path
Returnspaths
resolved as a path fromroot
.static String
getPosixFullPath
(String path) Returns the full path ofpath
with directory separator normalized to/
.static Path
getResourcePath
(Path path, String resourceName, String extension) static boolean
isAllowedName
(Path path) Returns whetherpath
does not contain reserved Windows file names.static boolean
isFileNameValid
(String name) Returns whethername
is a valid file name.static boolean
Returns whetherpath
is already normalized.static String
normalizeToPosix
(String path) Returns the normalized path ofpath
with directory separator normalized to/
.Returnspath
split by/
, or an error result if the path is invalid.static void
validatePath
(String[] paths) Validates thatpaths
is 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 a
Lu;a:Ljava/util/regex/Pattern;
intermediary field_18956
Lnet/minecraft/class_4239;field_18956:Ljava/util/regex/Pattern;
named FILE_NAME_WITH_COUNT
Lnet/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 b
Lu;b:I
intermediary field_33384
Lnet/minecraft/class_4239;field_33384:I
named MAX_NAME_LENGTH
Lnet/minecraft/util/PathUtil;MAX_NAME_LENGTH:I
-
RESERVED_WINDOWS_NAMES
- Mappings:
Namespace Name Mixin selector official c
Lu;c:Ljava/util/regex/Pattern;
intermediary field_18955
Lnet/minecraft/class_4239;field_18955:Ljava/util/regex/Pattern;
named RESERVED_WINDOWS_NAMES
Lnet/minecraft/util/PathUtil;RESERVED_WINDOWS_NAMES:Ljava/util/regex/Pattern;
-
VALID_FILE_NAME
- Mappings:
Namespace Name Mixin selector official d
Lu;d:Ljava/util/regex/Pattern;
intermediary field_40712
Lnet/minecraft/class_4239;field_40712:Ljava/util/regex/Pattern;
named VALID_FILE_NAME
Lnet/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 topath
not 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 a
Lu;a(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
intermediary method_19773
Lnet/minecraft/class_4239;method_19773(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
named getNextUniqueName
Lnet/minecraft/util/PathUtil;getNextUniqueName(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-
isNormal
Returns whetherpath
is already normalized.- Returns:
- whether
path
is already normalized - Mappings:
Namespace Name Mixin selector official a
Lu;a(Ljava/nio/file/Path;)Z
intermediary method_20200
Lnet/minecraft/class_4239;method_20200(Ljava/nio/file/Path;)Z
named isNormal
Lnet/minecraft/util/PathUtil;isNormal(Ljava/nio/file/Path;)Z
-
isAllowedName
Returns whetherpath
does not contain reserved Windows file names.- Returns:
- whether
path
does not contain reserved Windows file names - API Note:
- This returns
false
for 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 b
Lu;b(Ljava/nio/file/Path;)Z
intermediary method_20201
Lnet/minecraft/class_4239;method_20201(Ljava/nio/file/Path;)Z
named isAllowedName
Lnet/minecraft/util/PathUtil;isAllowedName(Ljava/nio/file/Path;)Z
-
getResourcePath
- Mappings:
Namespace Name Mixin selector official b
Lu;b(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;
intermediary method_20202
Lnet/minecraft/class_4239;method_20202(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;
named getResourcePath
Lnet/minecraft/util/PathUtil;getResourcePath(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/String;)Ljava/nio/file/Path;
-
getPosixFullPath
Returns the full path ofpath
with directory separator normalized to/
.- Returns:
- the full path of
path
with directory separator normalized to/
- Mappings:
Namespace Name Mixin selector official a
Lu;a(Ljava/lang/String;)Ljava/lang/String;
intermediary method_34675
Lnet/minecraft/class_4239;method_34675(Ljava/lang/String;)Ljava/lang/String;
named getPosixFullPath
Lnet/minecraft/util/PathUtil;getPosixFullPath(Ljava/lang/String;)Ljava/lang/String;
-
normalizeToPosix
Returns the normalized path ofpath
with directory separator normalized to/
.- Returns:
- the normalized path of
path
with directory separator normalized to/
- Mappings:
Namespace Name Mixin selector official b
Lu;b(Ljava/lang/String;)Ljava/lang/String;
intermediary method_34676
Lnet/minecraft/class_4239;method_34676(Ljava/lang/String;)Ljava/lang/String;
named normalizeToPosix
Lnet/minecraft/util/PathUtil;normalizeToPosix(Ljava/lang/String;)Ljava/lang/String;
-
split
Returnspath
split by/
, or an error result if the path is invalid.All path segments must be a valid file name. Additionally,
.
and..
are forbidden.- Returns:
path
split by/
, or an error result if the path is invalid- Mappings:
Namespace Name Mixin selector official c
Lu;c(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;
intermediary method_46346
Lnet/minecraft/class_4239;method_46346(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;
named split
Lnet/minecraft/util/PathUtil;split(Ljava/lang/String;)Lcom/mojang/serialization/DataResult;
-
getPath
Returnspaths
resolved as a path fromroot
.If
paths
is empty, this returnsroot
.- Returns:
paths
resolved as a path fromroot
- Mappings:
Namespace Name Mixin selector official a
Lu;a(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path;
intermediary method_46344
Lnet/minecraft/class_4239;method_46344(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path;
named getPath
Lnet/minecraft/util/PathUtil;getPath(Ljava/nio/file/Path;Ljava/util/List;)Ljava/nio/file/Path;
-
isFileNameValid
Returns whethername
is a valid file name.- Returns:
- whether
name
is a valid file name - API Note:
- A valid file name contains only ASCII lowercase alphabets, ASCII digits,
a dot, or an underscore. Unlike
Identifier
paths, hyphens are not allowed. - Mappings:
Namespace Name Mixin selector official d
Lu;d(Ljava/lang/String;)Z
intermediary method_46347
Lnet/minecraft/class_4239;method_46347(Ljava/lang/String;)Z
named isFileNameValid
Lnet/minecraft/util/PathUtil;isFileNameValid(Ljava/lang/String;)Z
-
validatePath
Validates thatpaths
is not empty and does not contain invalid segments (such as.
,..
, or otherwise invalid names).- Throws:
IllegalArgumentException
- when thepaths
are invalid- Mappings:
Namespace Name Mixin selector official a
Lu;a([Ljava/lang/String;)V
intermediary method_46345
Lnet/minecraft/class_4239;method_46345([Ljava/lang/String;)V
named validatePath
Lnet/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 c
Lu;c(Ljava/nio/file/Path;)V
intermediary method_47525
Lnet/minecraft/class_4239;method_47525(Ljava/nio/file/Path;)V
named createDirectories
Lnet/minecraft/util/PathUtil;createDirectories(Ljava/nio/file/Path;)V
-