FileFixUtil.java
net.minecraft.util.filefix.FileFixUtil
信息
- 全限定名:net.minecraft.util.filefix.FileFixUtil
- 类型:public class
- 包:net.minecraft.util.filefix
- 源码路径:src/main/java/net/minecraft/util/filefix/FileFixUtil.java
- 起始行号:L13
- 职责:
TODO
字段/常量
-
LOGGER- 类型:
Logger - 修饰符:
private static final - 源码定位:
L14 - 说明:
TODO
- 类型:
-
NAMESPACE_PATTERN- 类型:
String - 修饰符:
public static final - 源码定位:
L15 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
- 无
方法
下面的方法块按源码顺序生成。
public static void moveFile(Path baseDirectory, String from, String to) @ L17
- 方法名:moveFile
- 源码定位:L17
- 返回类型:void
- 修饰符:public static
参数:
- baseDirectory: Path
- from: String
- to: String
说明:
TODO
public static void deleteFileOrEmptyDirectory(Path baseDirectory, String file) @ L30
- 方法名:deleteFileOrEmptyDirectory
- 源码定位:L30
- 返回类型:void
- 修饰符:public static
参数:
- baseDirectory: Path
- file: String
说明:
TODO
代码
public class FileFixUtil {
private static final Logger LOGGER = LogUtils.getLogger();
public static final String NAMESPACE_PATTERN = "([a-z0-9_.-]+)";
public static void moveFile(Path baseDirectory, String from, String to) throws IOException {
Path fromAbsolute = baseDirectory.resolve(from);
if (Files.exists(fromAbsolute)) {
Path toAbsolute = baseDirectory.resolve(to);
if (Files.exists(toAbsolute)) {
LOGGER.warn("Target already exists, skipping move from {} to {}", from, to);
} else {
FileUtil.createDirectoriesSafe(toAbsolute.getParent());
Files.move(fromAbsolute, toAbsolute, StandardCopyOption.COPY_ATTRIBUTES);
}
}
}
public static void deleteFileOrEmptyDirectory(Path baseDirectory, String file) throws IOException {
Path toDelete = baseDirectory.resolve(file);
if (Files.exists(toDelete)) {
if (Files.isDirectory(toDelete)) {
try {
try (Stream<Path> paths = Files.list(toDelete)) {
List<Path> files = paths.toList();
if (files.size() == 1 && files.getFirst().getFileName().toString().equals(".DS_Store")) {
LOGGER.debug("Attempting to delete DS_Store at '{}'", toDelete);
if (!Files.deleteIfExists(files.getFirst())) {
LOGGER.warn("Failed to delete file '{}' at '{}'", files.getFirst(), toDelete);
}
}
}
List var12;
try (Stream<Path> pathsx = Files.list(toDelete)) {
var12 = pathsx.toList();
}
if (!var12.isEmpty()) {
LOGGER.warn("Failed to delete directory '{}', as it's not empty. Content: {}", toDelete, var12);
return;
}
} catch (IOException var11) {
LOGGER.warn("Failed to delete directory '{}' because {}", toDelete, var11.toString());
return;
}
}
Files.deleteIfExists(toDelete);
}
}
}引用的其他类
- FileUtil
- 引用位置:
方法调用 - 关联成员:
FileUtil.createDirectoriesSafe()
- 引用位置: