Klassenbiliothek fuer Dateiverwaltung
ulrich
17 hours ago 1be785f6df00e3f36c00b58a2d0c623733c74621
src/de/uhilger/fm/Eraser.java
@@ -23,9 +23,11 @@
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
 * Eine Klasse mit Methoden zum Loeschen von Dateien
 * Loeschen von Dateien und Ordnern
 * 
 * @author Ulrich Hilger, 15. Januar 2024
 */
@@ -33,11 +35,22 @@
  
  public static final int OP_DELETE = 3;  
  
  private final String STR_DOT = ".";
  /**
   * Dateien und Ordner loeschen
   *
   * @param relPath  der relative Pfad, der gemeinsam mit 'base' den absoluten
   * Pfad zum Ordner ergibt, der die zu loeschenden Dateien enthaelt
   * @param fileNames  Liste mit Namen von Dateien und Ordnern, die geloescht werden sollen
   * @param base  absoluter Basispfad
   * @return "deleted" oder null, wenn ein Fehler auftrat
   */
  public String deleteFiles(String relPath, List<String> fileNames, String base) {
    String result = null;
    try {
      //logger.fine(fileNames.toString());
      if (!relPath.startsWith(Const.STR_DOT)) {
      if (!relPath.startsWith(STR_DOT)) {
        File targetDir = new File(base, relPath); // getTargetDir(relPath);
        //logger.fine("targetDir: " + targetDir);
        for (String fileName : fileNames) {
@@ -66,14 +79,21 @@
        result = "deleted";
      }
    } catch (IOException ex) {
      //logger.log(Level.SEVERE, ex.getLocalizedMessage(), ex);
      Logger.getLogger(Eraser.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
    }
    return result;
  }
  /**
   * Alle Varianten einer Bilddatei loeschen
   *
   * @param targetDir  der Ordner, aus dem geloescht werden soll
   * @param targetFile Bilddatei, deren Varianten geloescht werden sollen
   * @throws IOException wenn etwas schief geht
   */
  private void deleteImgFiles(File targetDir, File targetFile) throws IOException {
    String fnameext = targetFile.getName();
    int dotpos = fnameext.lastIndexOf(Const.STR_DOT);
    int dotpos = fnameext.lastIndexOf(STR_DOT);
    String fname = fnameext.substring(0, dotpos);
    String ext = fnameext.substring(dotpos);
    //logger.fine("fname: " + fname + ", ext: " + ext);