Browse Source

Fixed bugs in safeDeleteEmptyParentDirectories()

qdn
CalDescent 3 years ago
parent
commit
97cdd53861
  1. 16
      src/main/java/org/qortal/utils/FilesystemUtils.java

16
src/main/java/org/qortal/utils/FilesystemUtils.java

@ -169,16 +169,22 @@ public class FilesystemUtils {
}
public static void safeDeleteEmptyParentDirectories(Path path) throws IOException {
final Path absolutePath = path.toAbsolutePath();
if (!absolutePath.toFile().isDirectory()) {
final Path parentPath = path.toAbsolutePath().getParent();
if (!parentPath.toFile().isDirectory()) {
return;
}
if (!FilesystemUtils.pathInsideDataOrTempPath(absolutePath)) {
if (!FilesystemUtils.pathInsideDataOrTempPath(parentPath)) {
return;
}
Files.deleteIfExists(absolutePath);
try {
Files.deleteIfExists(parentPath);
FilesystemUtils.safeDeleteEmptyParentDirectories(absolutePath.getParent());
} catch (DirectoryNotEmptyException e) {
// We've reached the limits of what we can delete
return;
}
FilesystemUtils.safeDeleteEmptyParentDirectories(parentPath);
}
public static boolean pathInsideDataOrTempPath(Path path) {

Loading…
Cancel
Save