Ce face Path
Un Path este doar o adresă: o succesiune de nume separate prin / (sau \ pe Windows). Crearea unui Path nu atinge discul și nu verifică dacă fișierul există; pentru asta există Files.exists.
O cale poate fi relativă (date/note.txt, față de folderul curent) sau absolută (/home/ana/date/note.txt). Cu metodele ei afli numele fișierului (getFileName), folderul părinte (getParent), construiești căi noi (resolve) sau le simplifici (normalize).
toString() returnează calea ca text, cu separatorul sistemului. Când concatenezi un Path cu un String sau îl afișezi, se apelează automat toString().
Ce returnează
Este o interfață; obiectele se creează cu Path.of(...).
Exemple
Exemplul 1: Părțile unei căi
import java.nio.file.Path;
public class Main {
public static void main(String[] args) {
Path cale = Path.of("documente", "facturi", "2026", "factura-17.pdf");
System.out.println("Cale: " + cale);
System.out.println("Nume fișier: " + cale.getFileName());
System.out.println("Folder: " + cale.getParent());
System.out.println("Câte nume: " + cale.getNameCount());
System.out.println("Absolută: " + cale.isAbsolute());
for (Path parte : cale) {
System.out.println(" - " + parte);
}
}
}
Rezultat
Cale: documente/facturi/2026/factura-17.pdf
Nume fișier: factura-17.pdf
Folder: documente/facturi/2026
Câte nume: 4
Absolută: false
- documente
- facturi
- 2026
- factura-17.pdf
Exemplul 2: toString și lucrul cu textul căii
Pentru verificări de text (extensie, prefix) transformăm calea în String.
import java.nio.file.Path;
public class Main {
public static void main(String[] args) {
Path poza = Path.of("vacanta", "Sinaia.JPG");
String text = poza.toString();
System.out.println(text);
System.out.println("Lungime: " + text.length());
System.out.println("Este imagine: " + text.toLowerCase().endsWith(".jpg"));
System.out.println("Se termină cu Path-ul Sinaia.JPG: " + poza.endsWith("Sinaia.JPG"));
System.out.println("Se termină cu textul JPG: " + poza.endsWith("JPG"));
}
}
Rezultat
vacanta/Sinaia.JPG
Lungime: 18
Este imagine: true
Se termină cu Path-ul Sinaia.JPG: true
Se termină cu textul JPG: false
Greșeli frecvente
- Crezi că
Path.of("x.txt")creează fișierul. Este doar o adresă; creezi fișierul cuFiles.writeStringsauFiles.createFile. - Folosești
path.endsWith(".txt")ca să verifici extensia.Path.endsWithcompară nume întregi, nu litere: foloseștepath.toString().endsWith(".txt").
Comenzi înrudite
Path.of: Creează un Path din unul sau mai multe nume; le unește cu separatorul corect al sistemului.Path.resolve: Adaugă o cale la sfârșitul altei căi: folder.resolve(„note.txt”) dă folder/note.txt.Path.getFileName: getFileName dă ultimul nume din cale (fișierul), iar getParent calea fără ultimul nume (folderul care îl conține).Files: Clasa cu metode statice pentru lucrul cu fișiere și foldere: citire, scriere, copiere, mutare, ștergere, listare.File: Clasa veche pentru căi de fișiere: exists verifică existența, getName dă numele, length mărimea în octeți.