Если у вас есть полный путь, например: "C:\dir0\dir1\dir2\dir3\dir4\"
, как бы вы лучше всего реализовали его, чтобы присутствовали все каталоги?
Есть ли способ для этого в BCL? Если нет, то какой самый элегантный способ сделать это?
Если у вас есть полный путь, например: "C:\dir0\dir1\dir2\dir3\dir4\"
, как бы вы лучше всего реализовали его, чтобы присутствовали все каталоги?
Есть ли способ для этого в BCL? Если нет, то какой самый элегантный способ сделать это?
Я бы позвонил Directory.CreateDirectory(@"C:\dir0\dir1\dir2\dir3\dir4\")
.
Вопреки распространенному мнению, Directory.CreateDirectory
автоматически создает несуществующие родительские каталоги. .
По словам MSDN, Creates all directories and subdirectories as specified by path.
Если весь путь уже существует, он ничего не сделает. (Это не будет генерировать исключение)
Path.GetDirectoryName
, чтобы получить его.
- person SLaks; 25.01.2010
Создать каталоги из полного пути к файлу
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;
}