Создание файла, который не существует в Path? - PullRequest
21 голосов
/ 24 августа 2009

Я просто не могу обойти это. Я могу создать файл с File.Create ... File.CrateText и так далее, только если путь существует. Если этого не произойдет, файл не будет записан и вернет ошибку. Как мне создать путь?

Ответы [ 5 ]

36 голосов
/ 24 августа 2009

Попробуйте

Directory.CreateDirectory(@"C:\MyApp\MySubDir\Data")

http://www.devx.com/vb2themax/Tip/18678

14 голосов
/ 18 сентября 2014

Учитывая, что у вас есть полный путь (папка + имя файла), следующий код обеспечит наличие необходимого пути к каталогу (если он еще не существует)

        FileInfo fileInfo = new FileInfo(fileFullPath);

        if (!fileInfo.Exists)
            Directory.CreateDirectory(fileInfo.Directory.FullName);


        //create the file ...
4 голосов
/ 24 августа 2009

Сначала вам нужно будет создать каталог. Это создаст все подкаталоги, которые не существуют в пути, который вы отправляете. Это довольно мощный функционал.

Directory.CreateDirectory(filePath);

Если вы не знаете, существует ли каталог или нет, вы можете использовать Directory.Exists. Но не для этого случая, поскольку это было бы бессмысленно. MSDN утверждает, что CreateDirectory ничего не делает, если каталог в настоящее время существует. Но если вы хотите проверить существование каталога по другой причине, вы можете использовать:

  if(Directory.Exists(folder) == false)
    {
    //do stuff  
    }
2 голосов
/ 04 февраля 2015

ниже также должно работать

    FileInfo fileInfo = new FileInfo(fileFullPath);
    if (!fileInfo.Directory.Exists) fileInfo.Directory.Create()

работает с каталогом fileinfo, а не со статическим каталогом класса

1 голос
/ 24 августа 2009
Directory.CreateDirectory("path");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...