Klassenbiliothek fuer Dateiverwaltung
ulrich
18 hours ago 14367e34df8bba89446eeaa878300e255b6f9c0a
Dokumentation in Arbeit: Mover fertig dokumentiert, kleinere Anpassungen
3 files modified
41 ■■■■ changed files
src/de/uhilger/fm/Deflator.java 5 ●●●●● patch | view | raw | blame | history
src/de/uhilger/fm/Mover.java 32 ●●●●● patch | view | raw | blame | history
src/de/uhilger/fm/package-info.java 4 ●●●● patch | view | raw | blame | history
src/de/uhilger/fm/Deflator.java
@@ -40,9 +40,8 @@
   * gepackt werden soll. Die Datei mit dem gepackten Ordnerinhalt wird in dem Ordner angelegt, der
   * den zu packenden Ordner enthaelt.
   *
   * @param fName Name und Pfad relativ zu base des zu packenden Ordners  /home/neu-2024-11-08-1722/
   * @param relPath relativer Pfad zum Ordner, der gepackt werden soll  /h2/cms/home/neu-2024-11-08-1722/?zip
   * @param base  /Users/ulli/data/helix-data
   * @param fName Name und Pfad relativ zu base des zu packenden Ordners
   * @param base  absoluter Pfad zum Ablageort des zu packenden Ordners
   * @return die Meldung mit dem Ergebnis. Wenn die Meldung nicht "ok" lautet wurde die ZIP-Datei
   * nicht erzeugt und die Meldung nennt den Grund.
   */
src/de/uhilger/fm/Mover.java
@@ -24,7 +24,7 @@
import java.nio.file.Path;
/**
 * Die Klasse Mover verschiebt und kopiert Dateien und Ordner
 * Verschieben und Kopieren von Dateien und Ordnern
 * 
 * Handhabung von Bilddateien: 
 * 
@@ -40,6 +40,34 @@
  public static final int OP_MOVE = 2;
  
  /**
   * Dateien und Ordner kopieren
   *
   * @param fromPath der Pfad zur Quelle  der Kopieraktion
   * @param toPath der Pfad zum Ziel der Kopieraktion
   * @param fileNames die Liste der Dateien und Ordner, die kopiert werden sollen
   * @param base der Basispfad, gegen den fromPath und toPath aufgeloest werden sollen
   * @throws IOException wenn etwas schief geht
   */
  public void copy(String fromPath, String toPath, String[] fileNames, String base)
          throws IOException {
    copyOrMoveFiles(fromPath, toPath, fileNames, OP_COPY, base);
  }
  /**
   * Dateien und Ordner verschieben
   *
   * @param fromPath der Pfad zur Quelle  der Verschiebeaktion
   * @param toPath der Pfad zum Ziel der Verschiebeaktion
   * @param fileNames die Liste der Dateien und Ordner, die verschoben werden sollen
   * @param base der Basispfad, gegen den fromPath und toPath aufgeloest werden sollen
   * @throws IOException wenn etwas schief geht
   */
  public void move(String fromPath, String toPath, String[] fileNames, String base)
          throws IOException {
    copyOrMoveFiles(fromPath, toPath, fileNames, OP_MOVE, base);
  }
  /**
   * Dateien und Ordner verschieben oder kopieren
   * 
   * @param fromPath der Pfad zur Quelle  der Verschiebe- oder Kopieraktion
@@ -49,7 +77,7 @@
   * @param base der Basispfad, gegen den fromPath und toPath aufgeloest werden sollen
   * @throws IOException wenn etwas schief geht
   */
  public void copyOrMoveFiles(String fromPath, String toPath, String[] fileNames,
  private void copyOrMoveFiles(String fromPath, String toPath, String[] fileNames,
          int operation, String base) throws IOException {
    //String result = null;
    File srcDir = new File(base, fromPath);
src/de/uhilger/fm/package-info.java
@@ -36,8 +36,8 @@
 * Dies ist beabsichtigt, um Pfadausdruecke wie z.B. '../' bei den hier implementierten 
 * Dateioperationen verarbeiten zu koennen. 
 * 
 * <b>Programme, die diese Klassenbibliothek einsetzen, muessen eigene Massnahmen gegen
 * Path Traversal o.&auml;. beisteuern, sofern dies nicht gewuenscht ist.</b>
 * <p><b>Programme, die diese Klassenbibliothek einsetzen, muessen eigene Massnahmen gegen
 * Path Traversal o.&auml;. vorschalten, sofern dies nicht gewuenscht ist.</b></p>
 * 
 * <p>Die folgenden Funktionalitaeten sind in dieser Auspraegung einer  
 * Dateiverwaltung fest angelegt. Sie sind damit Kandidaten fuer eine