From 93965f1be1ae1c9563dadfeb12ba6c1477ccbf84 Mon Sep 17 00:00:00 2001 From: ulrich Date: Thu, 14 Nov 2024 11:32:55 +0000 Subject: [PATCH] Ergaenzungen an Writer --- src/de/uhilger/fm/Renamer.java | 65 ++++++++++++++++++++------------ 1 files changed, 40 insertions(+), 25 deletions(-) diff --git a/src/de/uhilger/fm/Renamer.java b/src/de/uhilger/fm/Renamer.java index 75db53b..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) throws IOException { + /** + * 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 relPfad = helper.getFileName(exchange); - //File file = new File(exchange.getHttpContext().getAttributes().get(FileHandler.ATTR_FILE_BASE).toString(), relPfad); String fname = file.getName().toLowerCase(); - if(fname.endsWith(Const.JPEG) || fname.endsWith(Const.JPG) || fname.endsWith(Const.PNG)) { - neueDatei = renameImgFiles(file.getParentFile(), file, neuerName); + if(fname.endsWith(ImageFileFilter.JPEG) || fname.endsWith(ImageFileFilter.JPG) || + fname.endsWith(ImageFileFilter.PNG)) { + neueDatei = renameImgFiles(file, neuerName); } else { neueDatei = new File(file.getParentFile(), neuerName); file.renameTo(neueDatei); @@ -47,37 +54,48 @@ 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); //logger.fine("fname: " + fname + ", ext: " + ext); - DirectoryStream<Path> stream = Files.newDirectoryStream(targetDir.toPath(), fname + "*" + ext); //"*.{txt,doc,pdf,ppt}" + DirectoryStream<Path> stream = Files.newDirectoryStream(targetDir.toPath(), fname + "*" + ext); for (Path path : stream) { //logger.fine(path.getFileName().toString()); alt = path.getFileName().toString(); //logger.fine("alt: " + alt); - if(alt.contains(Const.TN)) { - neu = newfname + Const.TN + newext; - } else if (alt.contains(Const.KL)) { - neu = newfname + Const.KL + newext; - } else if(alt.contains(Const.GR)) { - neu = newfname + Const.GR + newext; - } else if(alt.contains(Const.MT)) { - neu = newfname + Const.MT + newext; - } else if(alt.contains(Const.SM)) { - neu = newfname + Const.SM + newext; + if(alt.contains(ImageFileFilter.TN)) { + neu = newfname + ImageFileFilter.TN + newext; + } else if (alt.contains(ImageFileFilter.KL)) { + neu = newfname + ImageFileFilter.KL + newext; + } else if(alt.contains(ImageFileFilter.GR)) { + neu = newfname + ImageFileFilter.GR + newext; + } else if(alt.contains(ImageFileFilter.MT)) { + neu = newfname + ImageFileFilter.MT + newext; + } else if(alt.contains(ImageFileFilter.SM)) { + neu = newfname + ImageFileFilter.SM + newext; } else { neu = newName; } @@ -87,7 +105,4 @@ stream.close(); return neueDatei; } - - - -} +} \ No newline at end of file -- Gitblit v1.9.3