| | |
| | | /* |
| | | neon-fm - File management extensions to Neon |
| | | fm - File management class library |
| | | Copyright (C) 2024 Ulrich Hilger |
| | | |
| | | This program is free software: you can redistribute it and/or modify |
| | |
| | | import java.util.zip.ZipOutputStream; |
| | | |
| | | /** |
| | | * Eine Klasse mit Methoden zum Packen von Dateien # |
| | | * Packen von Dateien |
| | | * |
| | | * @author Ulrich Hilger, 15. Januar 2024 |
| | | */ |
| | | public class Deflator { |
| | | |
| | | /* --------------- Ordner packen ----------------- */ |
| | | |
| | | /** |
| | | * Einen Ordner packen. |
| | | * |
| | | * Als Ziel wird eine neue Datei mit Dateiendung '.zip' erzeugt, die so heisst wie der Ordner, der |
| | | * gapckt werden soll. Die Datei mit dem gepackten Ordnerinhalt wird in dem Ordner angelegt, der |
| | | * gepackt werden soll. Die Datei mit dem gepackten Ordnerinhalt wird in dem Ordner angelegt, der |
| | | * den zu packenden Ordner enthaelt. |
| | | * |
| | | * @param fName Name des zu packenden Ordners |
| | | * @param relPath relativer Pfad zum Ordner, der gepackt werden soll |
| | | * @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. |
| | | */ |
| | | public String packFolder(String fName, String relPath, String base/*, HttpExchange e*/) { |
| | | if (!relPath.startsWith(".")) { |
| | | public String packFolder(String fName, /*String relPath, */String base) { |
| | | // if (!relPath.startsWith(".")) { |
| | | try { |
| | | //String fName = getFileName(e); |
| | | //logger.fine("fName: " + fName); |
| | | if (fName.endsWith(Const.STR_SLASH)) { |
| | | if (fName.endsWith("/")) { |
| | | File dir = new File(base, fName); |
| | | if (dir.isDirectory()) { |
| | | //logger.fine("absPath: " + dir.getAbsolutePath()); |
| | |
| | | //logger.log(Level.SEVERE, result, ex); |
| | | return result; |
| | | } |
| | | } else { |
| | | return "Falsche relative Pfadangabe"; |
| | | } |
| | | // } else { |
| | | // return "Falsche relative Pfadangabe"; |
| | | // } |
| | | } |
| | | |
| | | /** |