Подтвердить что ты не робот

Какой простой способ обеспечить папку существует до того, как я сделаю File.Move?

У меня есть структура папок:

C:\Temp [полностью пустой]

И у меня есть файл, который я хочу переместить в

C:\Temp\Folder1\MyFile.txt

Если я выполню File.Move, я получу ошибку, заявив, что эта папка не существует.

Есть ли какой-либо метод С#, который будет создавать все папки до этой точки так:

C:\Temp\Folder1\

?

4b9b3361

Ответ 1

Используйте System.IO.Directory.CreateDirectory

Дополнительная заметка: вам не нужно проверять, существует ли она в первую очередь. CreateDirectory будет делать все правильно.

Ответ 2

If Directory.Exists("somedir")

Подробнее см. здесь.

Чтобы создать каталог, если он не существует

Directory.CreateDirectory("path of dir");

Он создаст все dirs и subdirs, см. здесь

Ответ 3

Вы можете использовать Directory.CreateDirectory() для этого. По-видимому, он создает все каталоги в пути.

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