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)); // trueBestandteile 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.txtRelative 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/configrelativize: 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.txtnormalize: 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.txtstartsWith 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")); // trueIn 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.txtPath 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 iterationsubpath: 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/userKurzer 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
- Path: Dateipfade darstellen
- Files-Utility: Lesen, Schreiben, Kopieren, Verschieben
- Verzeichnisbäume mit Files.walk durchlaufen
- WatchService: Dateiänderungen überwachen