web-dev-qa-db-fra.com

Comment créer un répertoire s'il n'existe pas pour créer un fichier?

J'ai un morceau de code ici qui casse si le répertoire n'existe pas:

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

En une ligne (ou quelques lignes), est-il possible de vérifier si le répertoire menant au nouveau fichier n'existe pas et, dans le cas contraire, de le créer avant de créer le nouveau fichier?

J'utilise .NET 3.5.

184
Diskdrive

Créer

(new FileInfo(filePath)).Directory.Create() Avant d'écrire dans le fichier.

.... Ou, si elle existe, alors créez (sinon ne faites rien)

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);
361
Don

Vous pouvez utiliser le code suivant

  DirectoryInfo di = Directory.CreateDirectory(path);
104
Ram

Comme @hitec l'a dit, vous devez vous assurer que vous disposez des autorisations adéquates. Si vous le faites, vous pouvez utiliser cette ligne pour garantir l'existence du répertoire:

Directory.CreateDirectory(Path.GetDirectoryName(filePath))

30
willvv