diff --git a/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java b/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java index 7835101..aea0919 100644 --- a/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java +++ b/pdf-umbenenner-bootstrap/src/main/java/de/gecheckt/pdf/umbenenner/bootstrap/adapter/GuiConfigurationPropertiesWriter.java @@ -117,7 +117,8 @@ public final class GuiConfigurationPropertiesWriter implements GuiConfigurationF LOG.info("Sicherungskopie erstellt: {}", bakPath); return; } - for (int i = 1; ; i++) { + final int MAX_BACKUP_ATTEMPTS = 1000; + for (int i = 1; i <= MAX_BACKUP_ATTEMPTS; i++) { Path numbered = targetPath.resolveSibling(targetPath.getFileName() + ".bak." + i); if (!Files.exists(numbered)) { copyFile(targetPath, numbered); @@ -125,6 +126,8 @@ public final class GuiConfigurationPropertiesWriter implements GuiConfigurationF return; } } + throw new GuiConfigurationWriteException( + "Maximale Anzahl an .bak-Sicherungen (1000) für '" + targetPath + "' erreicht"); } /**