Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Java 7 Grundkurs

Durch Verzeichnisse navigieren, Dateien ansprechen: "Path"

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Mehr zur Navigation im Verzeichnissystem und wie Sie Dateien oder Verzeichnisse darin lokalisieren können. Dabei können systemspezifische Eigenheiten außen vor bleiben.
04:29

Transkript

Um eine Datei oder ein Verzeichnis in einem Dateisystem zu repräsentieren, steht uns das Interface "Path" zur Verfügung. Ein solcher Path oder Pfad präsentiert dabei immer genau eine Datei oder ein Verzeichnis. Nun ist es aber nur ein Interface, wie kommen wir also an Path-Objekte? Dafür gibt es zwei Möglichkeiten. Die erste Möglichkeit ist die Hilfsklasse "Paths", mit einem "s" am Ende. Diese Klasse bietet eine statische Methode, die heißt "get". Dieser Methode übergebe ich meinen Dateinamen oder meinen Pfad zur Datei und dann bekomme ich ein passendes Path-Objekt zurück. Die zweite Möglichkeit setzt voraus, dass wir bereits ein solches Path-Objekt haben. Dann können wir uns von diesem Punkt im Dateisystem, der von diesem Path-Objekt repräsentiert wird, mit Methoden dieses Objektes im Verzeichnisbaum rauf und runter hangeln. Bei jedem dieser Methodenaufrufe bekommen wir ein neues Path-Objekt zurück, das dann den neuen Ort im Dateisystem repräsentiert. Um das Ganze nun auch mal praktisch demonstrieren zu können, nehmen wir mal an, wir hätten diesen Verzeichnisbaum. Ich habe hier mein Home-Verzeichnis, das heißt bei mir jetzt "Kuller" und darin gibt es zwei Unterverzeichnisse, nämlich "Kram" und "Sonstiges". Im "Sonstiges"-Verzeichnis gibt es ein weiteres Unterverzeichnis, das heißt "Dinge" und darin befindet sich eine Datei, die heißt "Großer Plan.txt". Nun schauen wir einmal, wie sich die entsprechenden Path-Objekte erzeugen lassen, die diese Teile im Verzeichnisbaum repräsentieren. Wohlgemerkt, es geht dabei lediglich um das Navigieren innerhalb eines vorhandenen Verzeichnisbaums. Wir können über Path keine Änderungen daran vornehmen und wir können auch nicht auf die Inhalte der Dateien zugreifen. Wir beginnen damit, uns das Home-Verzeichis zu besorgen. Hier habe ich mein kleines Miniprojekt und hier oben meine beiden benötigten Imports, beide aus dem Paket "java.nio.file", nio steht dabei für New Input Output. Den Namen des Homeverzeichnisses bekommen wir von der Klasse "System" über die statische Methode "GetProperty". Als Namen des Properties geben wir hier den magischen Wert "user.home" an und dann bekommen wir einen String zurück, nämlich den Namen des Homeverzeichnisses. Daraus können wir nun unseren ersten Pfad bauen, indem wir zu dieser Hilfsklasse gehen, die Methode "get" aufrufen und diesen String, den wir gerade bekommen haben, übergeben. Dieses Path-Objekt "home" verweist nun also auf das Homeverzeichnis des Benutzers. Wir sind nun also hier. Nun möchten wir zum Unterverzeichnis "Kram" navigieren. Dazu nehmen wir unser Home-Objekt, hier, und benutzen die Methode "resolve" und geben hier den Namen des Unterverzeichnisses an. Dann bekommen wir ein neues Path-Objekt, das jetzt auf dieses Unterverzeichnis verweist. Schließlich möchten wir vom Homeverzeichnis aus direkt auf die Datei "Großer Plan" navigieren, die sich hier unten befindet, D.h. wir möchten gern diese beiden Ebenen hier überspringen und direkt zu dieser Datei kommen. Jetzt können wir natürlich über mehrere resolve-Aufrufe uns langsam dorthin vorarbeiten, das Ganze geht aber auch in einem Schritt. Die Methode "resolve" ist nämlich überladen, sie nimmt entweder einen String oder einen anderen Pfad. Wir bauen uns also hier wieder über "path.get" einen solchen Pfad zusammen, indem wir nacheinander das Verzeichnis "Sonstiges", dann Komma, das Unterverzeichnis "Dinge", noch ein Komma, und dann den Namen der Datei "Großer Plan.txt" angeben. Diesen Pfad, der daraus entsteht, übergeben wir dann an "resolve", das wir vom Homeobjekt aufrufen. Wir navigieren also von dieser Stelle im Dateisystem diesen Pfad entlang bis zu dieser Datei. "Resolve" produziert wieder ein neues Path-Objekt, das wir uns dann in dieser Variablen "Großer Plan" merken können. Sie sehen also, das Navigieren im Dateisystem ist gar nicht so schwer. Der Vorteil dieser Methode besteht darin, dass wir uns nicht mit systemspezifischen Eigenheiten eines bestimmten Dateisystems auseinandersetzen müssen, z.B. nehmen wir einen Schrägstrich oder nehmen wir einen umgekehrten Schrägstrich? Um solche Dinge kümmert sich unser Path-Objekt. Das Interface "Paths" bietet natürlich noch mehr Methoden an. Wir können zum Beispiel testen, ob ein Pfad mit einem bestimmten anderen Pfad endet oder beginnt. Wir können auf die einzelnen Teile des Pfades "Mein Index" zugreifen oder auch darüber iterieren. Wir können aus einem Pfad einen Teilpfad herauslösen mit "Subpath", und noch einiges mehr. Nun haben Sie also gesehen, wie Sie durch das Dateisystem navigieren können und wie Sie Dateien und Verzeichnisse darin lokalisieren können.

Java 7 Grundkurs

Machen Sie sich mit den Grundlagen der Java-Programmierung vertraut und lernen Sie die Syntax der Sprache sowie das Konzept der objektorientierten Softwareentwicklung kennen.

8 Std. 32 min (66 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!