Si vous avez un chemin complet comme: "C:\dir0\dir1\dir2\dir3\dir4\"
comment le mettre en œuvre de manière optimale pour que tous les répertoires soient présents?
Existe-t-il une méthode pour cela dans la BCL? Si non, quelle est la manière la plus élégante de le faire?
J'appellerais Directory.CreateDirectory(@"C:\dir0\dir1\dir2\dir3\dir4\")
.
Contrairement aux idées reçues, Directory.CreateDirectory
créera automatiquement les répertoires parents qui n’existent pas.
Selon les mots de MSDN, Creates all directories and subdirectories as specified by path.
Si tout le chemin existe déjà, cela ne fera rien. (Il ne jettera pas une exception)
Créer des répertoires à partir du chemin de fichier complet
private String EvaluatePath(String path){
try
{
String folder = Path.GetDirectoryName(path);
if (!Directory.Exists(folder))
{
// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(folder);
}
}
catch (IOException ioex)
{
Console.WriteLine(ioex.Message);
return "";
}
return path;
}