Ce face File.parent
parent returnează un Directory pentru directorul care conține fișierul, calculat doar din text, fără să acceseze discul: pentru date/2026/note.txt este date/2026, iar pentru note.txt este . (directorul curent).
absolute returnează un File cu calea completă: dacă era relativă, i se pune în față directorul curent. Verifică cu isAbsolute dacă o cale este deja completă. Calea absolută depinde de locul în care rulează programul.
Ce returnează
parent: un Directory. absolute: un File.
Exemple
Exemplul 1: Directorul părinte
import 'dart:io';
void main() {
print(File('date/2026/note.txt').parent.path);
print(File('date/2026/note.txt').parent.parent.path);
print(File('note.txt').parent.path);
print(File('/home/ana/poze/mare.jpg').parent.path);
}
Rezultat
date/2026
date
.
/home/ana/poze
Exemplul 2: Cale relativă și cale absolută
Calea absolută începe cu directorul temporar în care rulează exemplul; afișăm doar partea stabilă.
import 'dart:io';
void main() {
final f = File('raport.txt');
final abs = f.absolute;
print(f.isAbsolute);
print(abs.isAbsolute);
print(abs.path.endsWith('${Platform.pathSeparator}raport.txt'));
print(abs.parent.path == Directory.current.path);
}
Rezultat
false
true
true
true
Exemplul 3: Salvarea unui fișier lângă altul
import 'dart:io';
void main() {
Directory('proiect/src').createSync(recursive: true);
final sursa = File('proiect/src/main.dart')..writeAsStringSync('void main() {}');
final copie = File('${sursa.parent.path}/main_backup.dart');
sursa.copySync(copie.path);
print(copie.path);
print(Directory('proiect/src').listSync().map((e) => e.path).toList()..sort());
}
Rezultat
proiect/src/main_backup.dart
[proiect/src/main.dart, proiect/src/main_backup.dart]
Greșeli frecvente
- Crezi că
parentverifică existența directorului. Calea este doar calculată; directorul poate să nu existe. - Afișezi sau salvezi căi absolute într-un program care rulează pe alt calculator: ele diferă de la un sistem la altul.
Comenzi înrudite
File: Clasa File reprezintă un fișier de pe disc prin calea lui; cu ea citești, scrii, copiezi și ștergi fișiere.Directory.current: Directorul curent al programului, față de care se interpretează căile relative; se poate și schimba.Platform.pathSeparator: Separatorul folosit în căile de fișiere: „/” pe macOS și Linux, „\” pe Windows.