0Pricing
Java Academy · Lektion

Path: Dateipfade darstellen

Erstellen Sie Path-Objekte, lösen Sie Pfade auf, bilden Sie relative Pfade und bearbeiten Sie Pfadkomponenten.

Path: Dateipfade darstellen ist eine kostenlose Java Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Java Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Einführung in Path

Die Schnittstelle java.nio.file.Path stellt den Speicherort einer Datei oder eines Verzeichnisses im Dateisystem dar. Sie ersetzt die ältere Klasse java.io.File durch eine umfassendere, plattformunabhängige API.

import java.nio.file.*;

Path p1 = Path.of("/home/user/documents/report.txt");
Path p2 = Paths.get("/home", "user", "documents", "report.txt");

System.out.println(p1); // /home/user/documents/report.txt
System.out.println(p1.equals(p2)); // true

Bestandteile eines Pfads

Extrahieren Sie die Bestandteile eines Pfads:

Path path = Path.of("/home/user/docs/report.txt");

System.out.println(path.getFileName()); // report.txt
System.out.println(path.getParent());   // /home/user/docs
System.out.println(path.getRoot());     // /
System.out.println(path.getNameCount()); // 4
System.out.println(path.getName(0));    // home
System.out.println(path.getName(3));    // report.txt

Relative und absolute Pfade

Ein Pfad kann absolut (ausgehend vom Stammverzeichnis) oder relativ (ausgehend vom aktuellen Verzeichnis) sein. Verwenden Sie isAbsolute() zur Prüfung und toAbsolutePath(), um einen relativen Pfad anhand des aktuellen Arbeitsverzeichnisses aufzulösen.

Path rel = Path.of("docs/report.txt");
Path abs = Path.of("/home/user/docs/report.txt");

System.out.println(rel.isAbsolute()); // false
System.out.println(abs.isAbsolute()); // true

Path resolved = rel.toAbsolutePath(); // resolves against CWD
System.out.println(resolved);

resolve: Pfade kombinieren

resolve(other) hängt einen weiteren Pfad an. Wenn other absolut ist, ersetzt er den aktuellen Pfad vollständig.

Path base = Path.of("/home/user");
Path docs = base.resolve("documents");
Path file = docs.resolve("report.txt");

System.out.println(file); // /home/user/documents/report.txt

// Resolving an absolute path replaces:
Path abs = base.resolve(Path.of("/etc/config"));
System.out.println(abs); // /etc/config

relativize: Relative Pfade berechnen

relativize(other) berechnet den relativen Pfad von diesem Pfad zu other:

Path from = Path.of("/home/user");
Path to   = Path.of("/home/user/docs/report.txt");

Path rel = from.relativize(to);
System.out.println(rel); // docs/report.txt

// Verify:
System.out.println(from.resolve(rel)); // /home/user/docs/report.txt

normalize: Redundanzen entfernen

normalize() entfernt die Segmente . und .. aus einem Pfad:

Path messy = Path.of("/home/user/../user/./docs/./report.txt");
Path clean = messy.normalize();
System.out.println(clean); // /home/user/docs/report.txt

startsWith und endsWith

Prüfen Sie Präfix- und Suffixbeziehungen zwischen Pfaden:

Path p = Path.of("/home/user/docs/report.txt");

System.out.println(p.startsWith("/home/user")); // true
System.out.println(p.startsWith("/home/other")); // false
System.out.println(p.endsWith("report.txt"));    // true
System.out.println(p.endsWith("docs/report.txt")); // true

In File und URI konvertieren

Konvertieren Sie einen Path bei Bedarf in die ältere File-Klasse oder eine URI:

Path path = Path.of("/home/user/report.txt");

java.io.File file = path.toFile();
System.out.println(file.exists()); // depends on filesystem

java.net.URI uri = path.toUri();
System.out.println(uri); // file:///home/user/report.txt

Path auf verschiedenen Plattformen

Path.of() verwendet das Trennzeichen der jeweiligen Plattform. Unter Windows verwenden Pfade den umgekehrten Schrägstrich, unter Unix den Schrägstrich. Die API verarbeitet dies transparent.

// Portable path construction (works on all platforms):
Path config = Path.of("config", "app", "settings.json");
// On Unix: config/app/settings.json
// On Windows: config\app\settings.json
System.out.println(config);

Pfadelemente durchlaufen

Verwenden Sie eine For-each-Schleife oder iterator(), um die einzelnen Namenselemente zu durchlaufen:

Path path = Path.of("/home/user/docs/report.txt");

for (Path element : path) {
    System.out.println(element); // home, user, docs, report.txt
}
// Note: root ("/") is not included in iteration

subpath: Einen Ausschnitt extrahieren

subpath(begin, end) gibt einen relativen Pfad für einen Bereich von Namenselementen zurück:

Path p = Path.of("/home/user/docs/report.txt");
// Indices: home=0, user=1, docs=2, report.txt=3

System.out.println(p.subpath(1, 3)); // user/docs
System.out.println(p.subpath(0, 2)); // home/user

Kurzer Check

Gegeben sei Path.of("/home/user").resolve("docs/file.txt") — was ist das Ergebnis?

Zusammenfassung: Path-API

Die wichtigsten Punkte:

  • Path.of() / Paths.get() erstellen Path-Instanzen
  • getFileName, getParent, getRoot, getName, getNameCount für die Pfadbestandteile
  • resolve() hängt an; relativize() berechnet einen relativen Pfad; normalize() bereinigt ./ ../
  • startsWith/endsWith für Präfix- und Suffixprüfungen
  • Plattformunabhängig — das Trennzeichen wird automatisch verarbeitet

Häufig gestellte Fragen

Ist die Lektion „Path: Dateipfade darstellen“ kostenlos?

Ja — der vollständige Text von „Path: Dateipfade darstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Java Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Java Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Path: Dateipfade darstellen“?

Erstellen Sie Path-Objekte, lösen Sie Pfade auf, bilden Sie relative Pfade und bearbeiten Sie Pfadkomponenten. Du übst Java Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Java Academy zu starten?

Keine Vorkenntnisse erforderlich. Java Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Path: Dateipfade darstellen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Java Academy-Lektion Code schreiben und ausführen?

Ja. Jede Java Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Path: Dateipfade darstellen
  2. Files-Utility: Lesen, Schreiben, Kopieren, Verschieben
  3. Verzeichnisbäume mit Files.walk durchlaufen
  4. WatchService: Dateiänderungen überwachen
← Zurück zu Java Academy