Klassenbiliothek fuer Dateiverwaltung
ulrich
18 hours ago 1b9e9cdf20a29d7851e08f3326ad7808b94e09bf
commit | author | age
bcd08a 1 /**
8bde6f 2  * Klassen fuer das Dateimanagement mit <code>java.nio.file</code>. 
269203 3  * 
0bb213 4  * Die folgenden Funktionen sind enthalten:
U 5  * 
6  * <pre>
7  * Ordnerinhalt auflisten:    
8bde6f 8  *    Catalog().list(relPathAndName, miniUrlBase, baseDir)
e1fae2 9  * 
f29f29 10  * Datei speichern:
8bde6f 11  *    Writer().speichern(file, content)
0bb213 12  * 
U 13  * Dateien und Ordner loeschen:
8bde6f 14  *    Eraser().deleteFiles(relPfad, dateiname, basis)
0bb213 15  * 
U 16  * Kopieren von Dateien und Ordnern:
f29f29 17  *    Mover().copyOrMoveFiles(quelle, ziel, dateiNamen, op, base)
0bb213 18  * 
U 19  * Verschieben von Dateien und Ordnern:
f29f29 20  *    Mover().copyOrMoveFiles(quelle, ziel, dateiNamen, op, base)
0bb213 21  * 
U 22  * Duplizieren einer Datei:
f29f29 23  *    Duplicator().duplizieren(base, fileName)
0bb213 24  * 
U 25  * Umbenennen einer Datei oder eines Ordners:
f29f29 26  *    Renamer().umbenennen(exchange, fileName, params[1], file)
0bb213 27  * 
U 28  * Packen eines Ordners:
f29f29 29  *    Deflator().packFolder(fileName, path, base)
0bb213 30  * 
U 31  * Entpacken einer ZIP-Datei:
f29f29 32  *    Inflator().extractZipfile(fileName, path, base)
0bb213 33  * </pre>
8bde6f 34  * 
U 35  * <p>Die folgenden Funktionalitaeten sind in dieser Auspraegung einer  
36  * Dateiverwaltung fest angelegt. Sie sind damit Kandidaten fuer eine 
37  * Erweiterung dieser Klassenbibliothek um andere evtl. benoetigte 
38  * Auspraegungen.</p>
39  * 
1b9e9c 40  * <p><b>Handhabung von Bilddateien</b></p>
8bde6f 41  * 
U 42  * Neben der Datei eines Bildes in Originalgroesse werden weitere Dateien als Varianten 
43  * eines Bildes unterstuetzt.
44  * 
45  * In Dateilisten werden diese Varianten ausgeblendet und nur das Originalbild gezeigt. 
46  * 
47  * Die Dateinamen von Varianten eines Bildes muessen dazu einen mit Unterstrich beginnenden 
48  * Namenszusatz enthalten wie bspw. <code>_tn</code> fuer thumbnail oder <code>_sm</code> 
49  * fuer small usw. Gleichsam lassen sich damit Eigenschaften wie zum Beispiel 
50  * eine Base64-Kodierung kombinieren. Hier waere der Namenszusatz dann eine Kombination 
51  * aus Groesse und Kodierung wie mit <code>_sm_b64</code>, so dass sich fuer ein Bild stets 
1b9e9c 52  * eine ganze Gruppe von Dateien ergibt, z.B.:
8bde6f 53  * 
U 54  * <pre>
55  * bild.jpg
56  * bild_sm.jpg
57  * bild_sm_b64.jpg
58  * </pre>
59  * 
60  * Alle Dateioperationen dieser Klassenbibliothek wirken dennoch stets auf 
61  * alle Varianten des Bildes, wie es auf der Kommandozeile mit einem Wildcard-Operator 
62  * gemacht wuerde, z.B.
63  * 
64  * <pre>
65  *   cp /pfad/zum/bild*.jpg /pfad/zum/zielordner
66  * </pre>
67  * 
68  * Eine Dateiliste enthaelt aus diesem Grund fuer Bilddateien die beiden zusaetzlichen Angaben 
69  * <code>miniurl</code> und <code>imgsrc</code>. 
70  * 
1b9e9c 71  * <p><b>Ordnerliste im JSON-Format</b></p>
8bde6f 72  * 
U 73  * Die Liste mit Dateien eines Ordners wird im JSON-Format ausgegeben. Ueber eine 
74  * entsprechende Erweiterung koennte die Ausgabe in verschiedenen waehlbaren Formaten 
75  * erfolgen.
76  * 
bcd08a 77  */
U 78 package de.uhilger.fm;