Laden Sie das Java-Projekt SimpleFileSystem herunter.
Dieses sollte Ihnen aus der Fragestunde bekannt vorkommen. Neben neuen ausgiebigen Kom- mentaren hat sich auch die Methode ui() in Folder.java geĂ€ndert. Machen Sie sich mit der neuen Funktionsweise vertraut, und geben Sie an, wann und weshalb das Aufteilen einer groĂen Me- thode sinnvoll ist.
Ermöglichen Sie die Ausgabe der Benutzungs-Hilfe, welche bisher beim Start des Programms ausgegeben wird, mittels des Befehls âhelpâ. Achten Sie darauf, Code-Duplikate zu vermeiden! Geben Sie ein konkretes Beispiel an, wes- halb das Vermeiden von Code-Duplikaten hier wichtig ist.
Ermöglichen Sie das Entfernen des Inhalts einer Datei mittels des Befehls âclearâ. Achten Sie auf die richtige Anzahl von Argumenten, und darauf, dass clear nur fĂŒr Dateien funktioniert.
Ermöglichen Sie das Entfernen eines Elements mittels des Befehls ârmâ. Achten Sie darauf, dass Ihr Dateisystem stets konsistent bleibt. Eine Hilfsmethode kann der Ăbersichtlichkeit hier zutrĂ€glich sein.
Ermöglichen Sie die rekursive Ausgabe aller Elemente im aktuellen Ordner in Baumstruktur auf der Konsole mittels des Befehls âtreeâ. Die Ausgabe kann beispielsweise folgendes Format haben:
1 User
2 |âUni
3 | |âSemester
4 | | |âPaedagogik
5 | | | |âfolien
6 | | | |âskript
7 | | | |âbuch
8 | | |âSport
9 | | |âMathematik
10 | | | |âskript
11 | | |âVorkurs
12 | |âSemester
13 |âPrivat
14 | |âliebesbrief
15 | |âFotos
16 | | |âfoto
17 | | |âfoto
18 |âArbeit
19 | |âBewerbung
20 | | |âmotivationsschreiben
21 | | |âlebenslauf
22 | |âSteuern
23 | | |âjanuar
24 | | |âmaerz
25 | | |âfebruar
Tipp: Nutzen Sie eine rekursive Hilfsmethode zum Generieren der Ausgabe.
Bonus: Schauen Sie sich die StringBuilder Klasse an, um effizienter mit Strings arbeiten zu können
Ermöglichen Sie das Verschieben eines Elements mittels des Befehls âmvâ. Testen Sie Ihre Java-FĂ€higkeiten und KreativitĂ€t mittels dieser Aufgabe, denken Sie jedoch stets daran, dass Ihr Code möglichst ĂŒbersichtlich, verstĂ€ndlich und korrekt bleiben soll.
Nutzen Sie folgende Anregungen um Ihren âmvâ-Befehl zu gestalten:
- Erlauben Sie das Verschieben in einen Unterorder (z.B. âsubfolder/subsubfolder/â als PATH), sowie in einen Parent-Ordner (z.B. â../â als PATH).
- Erlauben Sie das Verschieben in arbitrĂ€re Ordner, solange diese existieren (z.B. â../../test/subtest/â als PATH).
- Gehen Sie sicher, dass Objekte nach dem Verschieben stets nur einmal vorhanden sind.
- Gehen Sie sicher, dass kein Ordner mehrere gleichnamige Objekte enthÀlt.
- PrĂŒfen Sie, dass Ordner nicht Teil von sich selbst werden können (dies wĂŒrde die Baum- struktur des Dateisystems zerstören).
- Erlauben Sie absolute Pfade (beginnend mit â/â), welche einen Ordner beginnend bei der Wurzel des Dateisystems beschreiben.
- Erlauben Sie das Umbenennen von Dateien, falls am Ende des Pfades ein anderer Name angegeben ist.
- FĂŒgen Sie Regeln hinzu, um die Benennung von Dateien sinnvoll einzuschrĂ€nken, und setzen Sie diese durch.
Ermöglichen Sie das Kopieren eines Elements mittels des Befehls âcpâ. Nutzen Sie dafĂŒr die Implementierung von âmvâ (entweder die gegebene Lösung oder Ihre eigene). Achten Sie darauf, dass kopierte Elemente tatsĂ€chlich vollstĂ€ndig kopiert sind, also beispiels- weise die Dateien aus kopierten Ordnern verschiedene Inhalte haben können.
Testen Sie Ihre Implementierung ausfĂŒhrlich. Seien Sie kreativ, um mögliche RandfĂ€lle abzufan- gen.
Herzlichen GlĂŒckwunsch, Sie haben nun ein funktionierendes Dateisystem entwickelt!