Как я создаю каталог, если он не существует для создания файла?

У меня есть часть кода здесь, который повреждается, если каталог не существует:

System.IO.File.WriteAllText(filePath, content);

В одной строке (или нескольких строках), действительно ли возможно проверить, не существует ли продвижение каталога в новый файл и в противном случае создать его прежде, чем создать новый файл?

Я использую.NET 3.5.

190
задан Hüseyin Yağlı 14 January 2016 в 02:38
поделиться

4 ответа

Для создания

(новый FileInfo (filePath)). Directory.Create () Перед записью в файл.

.... Или, если он существует, создать (иначе ничего не делать)

System.IO.FileInfo file = new System.IO.FileInfo(filePath);
file.Directory.Create(); // If the directory already exists, this method does nothing.
System.IO.File.WriteAllText(file.FullName, content);
373
ответ дан 23 November 2019 в 05:35
поделиться

Вы можете использовать File.Exists , чтобы проверить, существует ли файл, и при необходимости создайте его с помощью File.Create . Убедитесь, что вы проверили, есть ли у вас доступ для создания файлов в этом месте.

Убедившись, что файл существует, вы можете безопасно писать в него. Хотя в качестве меры предосторожности вы должны поместить свой код в блок try ... catch и поймать исключения, которые функция может вызвать, если что-то пойдет не так, как планировалось.

Дополнительная информация об основных концепциях файлового ввода-вывода .

-1
ответ дан 23 November 2019 в 05:35
поделиться

Вы можете использовать следующий код

  DirectoryInfo di = Directory.CreateDirectory(path);
103
ответ дан 23 November 2019 в 05:35
поделиться

Как сказал @hitec, вы должны быть уверены, что у вас есть нужные разрешения, если вы это сделаете, вы можете использовать эту строку, чтобы гарантировать существование каталога:

Directory.CreateDirectory (Path.GetDirectoryName (filePath))

31
ответ дан 23 November 2019 в 05:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: