C-SHARP - 5.5 Path
La classe Path du namespace System.IO regroupe des méthodes utilitaires statiques pour manipuler les chaînes représentant des chemins de fichiers ou de dossiers. Elle ne touche jamais au système de fichiers — elle ne fait que travailler sur la chaîne de caractères. Son principal intérêt : produire des chemins portables et éviter les erreurs de séparateurs entre Windows (\) et Unix (/).
Combiner et décomposer un chemin
La méthode Path.Combine assemble plusieurs portions en utilisant le bon séparateur pour la plateforme courante. À l'inverse, plusieurs méthodes extraient une portion d'un chemin existant :
using System.IO;
string chemin = Path.Combine("C:", "Users", "Documents", "rapport.pdf");
// "C:\Users\Documents\rapport.pdf" sous Windows
string nom = Path.GetFileName(chemin); // "rapport.pdf"
string sansExt = Path.GetFileNameWithoutExtension(chemin); // "rapport"
string ext = Path.GetExtension(chemin); // ".pdf"
string dossier = Path.GetDirectoryName(chemin); // "C:\Users\Documents"
string racine = Path.GetPathRoot(chemin); // "C:\"
Méthodes pratiques courantes
Path.HasExtension(chemin): renvoietruesi le chemin contient une extension.Path.ChangeExtension(chemin, ".txt"): remplace l'extension actuelle.Path.IsPathRooted(chemin): indique si le chemin est absolu.Path.GetFullPath(relatif): convertit un chemin relatif en chemin absolu.Path.GetTempFileName(): crée un fichier temporaire unique et renvoie son chemin.
Pourquoi privilégier Path à la concaténation manuelle
Construire un chemin avec + ou interpolation de chaînes est piégeux : oubli de séparateur, doublons (//), incompatibilité Windows/Linux. Path.Combine gère tout cela automatiquement et rend votre code portable. Adoptez ce réflexe dès maintenant : à chaque fois que vous manipulez un chemin, passez par Path.