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 | 37 ++++++++++++++++++++++++++----------- 1 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/de/uhilger/fm/Renamer.java b/src/de/uhilger/fm/Renamer.java index 85e0d08..dd9f37e 100644 --- a/src/de/uhilger/fm/Renamer.java +++ b/src/de/uhilger/fm/Renamer.java @@ -17,7 +17,6 @@ */ package de.uhilger.fm; -import com.sun.net.httpserver.HttpExchange; import java.io.File; import java.io.IOException; import java.nio.file.DirectoryStream; @@ -25,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 */ @@ -33,13 +32,21 @@ public static final String STR_DOT = "."; - public String umbenennen(/*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); @@ -47,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); @@ -87,7 +105,4 @@ stream.close(); return neueDatei; } - - - -} +} \ No newline at end of file -- Gitblit v1.9.3