Dateiverwaltung fuer neon
ulrich
2024-11-19 b3d917571a5f952531ce3e060861e1a158bc04c7
src/de/uhilger/neon/fm/FileCreator.java
@@ -26,15 +26,35 @@
import java.util.logging.Logger;
/**
 * Eine Klasse mit Methoden zur Erzeugung von Ordnern und Dateien
 *
 * @author Ulrich Hilger
 * @version 0.1, 08.11.2024
 */
public class FileCreator extends AbstractFileActor {
  public void run(HttpExchange exchange) {
  /**
   * Die methode run legt Ordner und Dateien neu an, sofern im hier
   * uebergebenen HttpExchange Objekt die folgenden Angaben zu finden
   * sind:
   *
   * <pre>
   * Datei neu anlegen (ohne Ueberschreiben):
   * http://localhost:[port]/[kontext]/pfad/zur/datei.txt
   * Body: Dateiinhalt
   * Erzeugt eine neue Datei mit einer laufenden Nummer,
   * falls die per URL angegebene Datei schon existiert
   *
   * Ordner anlegen:
   * http://localhost:[port]/[kontext]/pfad/zum/ordner/
   * erzeugt einen HTTP-Fehler 422, wenn der Ordner schon existiert
   * </pre>
   *
   * @param exchange Infos zu HTTP Request, -Response, Kontext usw.
   */
  public void create(HttpExchange exchange) {
    try {
      super.run(exchange);
      init(exchange);
      if (fileName.endsWith(FileServer.STR_SLASH)) { // es ist ein Ordner
        if (!file.exists()) {
          file.mkdir();
@@ -49,7 +69,7 @@
          file = trans.getNewFileName(file);
        }
        speichern(exchange);
      }
      }
    } catch (IOException ex) {
      Logger.getLogger(FileCreator.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
    } finally {