Klassenbiliothek fuer Dateiverwaltung
ulrich
15 hours ago 1be785f6df00e3f36c00b58a2d0c623733c74621
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;
  }
}
}