Platform.pathSeparator în Dart

Separatorul folosit în căile de fișiere: "/" pe macOS și Linux, "\" pe Windows.

Sintaxă
static String get pathSeparator

Ce face Platform.pathSeparator

Platform.pathSeparator este caracterul dintre directoarele unei căi: / pe macOS, Linux, Android și iOS, \ pe Windows. Exemplele de pe site rulează pe un sistem de tip Unix, deci afișează /.

Când construiești căi din bucăți, unește-le cu pathSeparator în loc să scrii / sau \ direct. Clasele File și Directory acceptă și / pe Windows, dar căile returnate de sistem folosesc separatorul lui.

Pentru lucru serios cu căi (unire, extensie, nume de fișier) există pachetul path (import 'package:path/path.dart' as p;), care tratează corect toate cazurile.

Exemple

Exemplul 1: Unirea bucăților unei căi

import 'dart:io';

void main() {
  final sep = Platform.pathSeparator;
  print('Separator: $sep');
  final cale = ['date', 'elevi', 'clasa-a-9-a.csv'].join(sep);
  print(cale);
}

Rezultat

Separator: /
date/elevi/clasa-a-9-a.csv

Exemplul 2: Crearea unui fișier într-un subdirector

import 'dart:io';

void main() {
  final sep = Platform.pathSeparator;
  final director = Directory('rapoarte${sep}2026')..createSync(recursive: true);
  final fisier = File('${director.path}${sep}octombrie.txt')
    ..writeAsStringSync('Vânzări: 1250 lei\n');
  print(fisier.path);
  print(fisier.path.split(sep).last);
  print(fisier.readAsStringSync().trim());
}

Rezultat

rapoarte/2026/octombrie.txt
octombrie.txt
Vânzări: 1250 lei

Greșeli frecvente

  • Împarți o cale primită de la sistem cu split('/'): pe Windows calea conține \ și împărțirea nu funcționează. Folosește Platform.pathSeparator sau pachetul path.
  • Scrii '\' în cod: în Dart backslash-ul începe o secvență de escape; scrie '\\' sau r'\'.

Comenzi înrudite

  • Platform: Clasa Platform dă informații despre sistemul pe care rulează programul: sistemul de operare, variabilele de mediu, procesorul.
  • File: Clasa File reprezintă un fișier de pe disc prin calea lui; cu ea citești, scrii, copiezi și ștergi fișiere.
  • Directory: Clasa Directory reprezintă un director (folder) de pe disc: îl creezi, îl listezi, verifici dacă există, îl ștergi.
  • File.parent: parent dă directorul în care se află fișierul; absolute dă același fișier cu calea completă, de la rădăcină.