From 0cd5e868890043ce0544444cbf87a753b4119a93 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Fri, 15 Nov 2024 09:35:07 +0000
Subject: [PATCH] Beruecksichtigung aller Varianten eines Bildes auch beim Kopieren von Bilddateien

---
 src/de/uhilger/fm/Renamer.java |   36 ++++++++++++++++++++++++++----------
 1 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/src/de/uhilger/fm/Renamer.java b/src/de/uhilger/fm/Renamer.java
index 83a1e87..dd9f37e 100644
--- a/src/de/uhilger/fm/Renamer.java
+++ b/src/de/uhilger/fm/Renamer.java
@@ -24,7 +24,7 @@
 import java.nio.file.Path;
 
 /**
- * Eine Klasse mit Methoden zum Umbenennen von Dateien
+ * Umbenennen von Dateien
  * 
  * @author Ulrich Hilger, 15. Januar 2024
  */
@@ -32,13 +32,21 @@
   
   public static final String STR_DOT = ".";
   
-  public String rename(/*HttpExchange exchange, */String relPfad, String neuerName, File file) 
+  /**
+   * Eine Datei oder einen Ordner umbenennen
+   * 
+   * @param neuerName  der Name fuer das Objekt
+   * @param file  das Objekt, das umbenannt werden soll
+   * @return der neue Name
+   * @throws IOException wenn etwas schief geht
+   */
+  public String rename(/*HttpExchange exchange, *//*String relPfad,*/ String neuerName, File file) 
           throws IOException {
     File neueDatei;
     String fname = file.getName().toLowerCase();
     if(fname.endsWith(ImageFileFilter.JPEG) || fname.endsWith(ImageFileFilter.JPG) || 
             fname.endsWith(ImageFileFilter.PNG)) {
-      neueDatei = renameImgFiles(file.getParentFile(), file, neuerName);  
+      neueDatei = renameImgFiles(file, neuerName);  
     } else {
       neueDatei = new File(file.getParentFile(), neuerName);
       file.renameTo(neueDatei);
@@ -46,17 +54,28 @@
     return neueDatei.getName();
   }
   
-  public File renameImgFiles(File targetDir, File targetFile, String newName) throws IOException {
+  /**
+   * Alle Varianten einer Bilddatei umbenennen
+   * 
+   * TODO einen sinnvolleren Rueckgabewert bauen
+   * 
+   * @param file  die Origianlbilddatei
+   * @param newName  der neue Name
+   * @return  Name der letzten Datei, die umbenannt wurde
+   * @throws IOException   wenn etwas schief geht
+   */
+  public File renameImgFiles(/*File targetDir, */ File file, String newName) throws IOException {
     String alt;
     String neu;
-    File neueDatei = targetFile;
+    File neueDatei = file;
     
+    File targetDir = file.getParentFile();
     int newdotpos = newName.lastIndexOf(STR_DOT);
     String newfname = newName.substring(0, newdotpos);
     String newext = newName.substring(newdotpos);
     //logger.fine("newfname: " + newfname + ", newext: " + newext);
     
-    String fnameext = targetFile.getName();
+    String fnameext = file.getName();
     int dotpos = fnameext.lastIndexOf(STR_DOT);
     String fname = fnameext.substring(0, dotpos);
     String ext = fnameext.substring(dotpos);
@@ -86,7 +105,4 @@
     stream.close();
     return neueDatei;
   }
-  
-  
-  
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3