Ce face Path.getFileName
getFileName() returnează ultimul element al căii, ca Path: pentru poze/2026/mare.jpg dă mare.jpg. Pentru operații de text (extensie, prefix), adaugă .toString().
getParent() returnează calea fără ultimul element: poze/2026. Pentru o cale cu un singur nume (note.txt) dă null, deci verifică rezultatul înainte să-l folosești. Ca toate metodele Path, ele lucrează doar cu textul căii, fără să verifice discul.
Ce returnează
Un Path sau null (dacă nu există nume, respectiv părinte).
Exemple
Exemplul 1: Nume, folder și extensie
import java.nio.file.Path;
public class Main {
public static void main(String[] args) {
Path poza = Path.of("poze", "2026", "Vama Veche.jpg");
String nume = poza.getFileName().toString();
int punct = nume.lastIndexOf('.');
System.out.println("Fișier: " + nume);
System.out.println("Fără extensie: " + nume.substring(0, punct));
System.out.println("Extensie: " + nume.substring(punct + 1));
System.out.println("Folder: " + poza.getParent());
System.out.println("Bunicul: " + poza.getParent().getParent());
}
}
Rezultat
Fișier: Vama Veche.jpg
Fără extensie: Vama Veche
Extensie: jpg
Folder: poze/2026
Bunicul: poze
Exemplul 2: getParent poate da null
O cale cu un singur nume nu are părinte în text, deși fișierul se află, de fapt, în folderul curent.
import java.nio.file.Path;
public class Main {
public static void main(String[] args) {
Path simplu = Path.of("note.txt");
System.out.println("Părinte: " + simplu.getParent());
System.out.println("Părinte absolut există: " + (simplu.toAbsolutePath().getParent() != null));
System.out.println("Nume pentru /: " + Path.of("/").getFileName());
}
}
Rezultat
Părinte: null
Părinte absolut există: true
Nume pentru /: null
Greșeli frecvente
- Apelezi
getParent().resolve(...)pe o cale fără părinte:NullPointerException. FoloseștetoAbsolutePath()înainte sau verificănull. - Compari
getFileName()cu unStringprinequals: unPathnu este egal cu unString. Adaugă.toString().
Comenzi înrudite
Path: Reprezintă calea unui fișier sau folder (ex. date/note.txt); nu verifică dacă fișierul există. toString o dă ca text.Path.resolve: Adaugă o cale la sfârșitul altei căi: folder.resolve(„note.txt”) dă folder/note.txt.Path.toAbsolutePath: Transformă o cale relativă în cale absolută, adăugând în față folderul curent al programului.File: Clasa veche pentru căi de fișiere: exists verifică existența, getName dă numele, length mărimea în octeți.