forked from Qortal-Forker/qortal
Fixed edge case.
This commit is contained in:
@@ -299,6 +299,9 @@ public class ArbitraryDataReader {
|
|||||||
if (dest == null || !dest.exists()) {
|
if (dest == null || !dest.exists()) {
|
||||||
throw new IllegalStateException("Destination directory doesn't exist");
|
throw new IllegalStateException("Destination directory doesn't exist");
|
||||||
}
|
}
|
||||||
|
// Ensure destination directory doesn't exist
|
||||||
|
FileUtils.deleteDirectory(dest);
|
||||||
|
// Move files to destination
|
||||||
FilesystemUtils.copyAndReplaceDirectory(source.toString(), dest.toString());
|
FilesystemUtils.copyAndReplaceDirectory(source.toString(), dest.toString());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -20,6 +20,15 @@ public class FilesystemUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void copyAndReplaceDirectory(String sourceDirectoryLocation, String destinationDirectoryLocation) throws IOException {
|
public static void copyAndReplaceDirectory(String sourceDirectoryLocation, String destinationDirectoryLocation) throws IOException {
|
||||||
|
// Ensure parent folders exist in the destination
|
||||||
|
File destFile = new File(destinationDirectoryLocation);
|
||||||
|
if (destFile != null) {
|
||||||
|
destFile.mkdirs();
|
||||||
|
}
|
||||||
|
if (destFile == null || !destFile.exists()) {
|
||||||
|
throw new IOException("Destination directory doesn't exist");
|
||||||
|
}
|
||||||
|
|
||||||
Files.walk(Paths.get(sourceDirectoryLocation))
|
Files.walk(Paths.get(sourceDirectoryLocation))
|
||||||
.forEach(source -> {
|
.forEach(source -> {
|
||||||
Path destination = Paths.get(destinationDirectoryLocation, source.toString()
|
Path destination = Paths.get(destinationDirectoryLocation, source.toString()
|
||||||
@@ -49,7 +58,6 @@ public class FilesystemUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
File sourceFile = new File(source.toString());
|
File sourceFile = new File(source.toString());
|
||||||
File destFile = new File(dest.toString());
|
|
||||||
if (sourceFile == null || !sourceFile.exists()) {
|
if (sourceFile == null || !sourceFile.exists()) {
|
||||||
throw new IOException("Source file doesn't exist");
|
throw new IOException("Source file doesn't exist");
|
||||||
}
|
}
|
||||||
@@ -58,6 +66,7 @@ public class FilesystemUtils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ensure parent folders exist in the destination
|
// Ensure parent folders exist in the destination
|
||||||
|
File destFile = new File(dest.toString());
|
||||||
File destParentFile = destFile.getParentFile();
|
File destParentFile = destFile.getParentFile();
|
||||||
if (destParentFile != null) {
|
if (destParentFile != null) {
|
||||||
destParentFile.mkdirs();
|
destParentFile.mkdirs();
|
||||||
|
|||||||
Reference in New Issue
Block a user