Question Si un dossier n'existe pas, créez-le


J'utilise un contrôle FileUploader dans mon application. Je veux enregistrer un fichier dans un dossier spécifié. Maintenant, si ce dossier n'existe pas, commencez par le créer, puis enregistrez mon fichier dans ce dossier. Si le dossier existe déjà, il suffit de sauvegarder le fichier.

Comment puis-je faire ceci?


499
2018-01-30 14:42


origine


Réponses:


Comme d'autres l'ont dit, utilisez System.IO.Directory.CreateDirectory

Mais vous n'avez pas besoin de vérifier si elle existe en premier. Du docs

Tous les répertoires spécifiés dans le chemin sont créés, sauf s'ils   existe déjà ou à moins qu'une partie du chemin soit invalide. Le chemin   paramètre spécifie un chemin de répertoire, pas un chemin de fichier. Si la   répertoire existe déjà, cette méthode ne fait rien.


891
2018-01-30 14:49



Utilisez le code ci-dessous selon http://forums.asp.net/p/1226236/2209871.aspx:

string subPath ="ImagesPath"; // your code goes here

bool exists = System.IO.Directory.Exists(Server.MapPath(subPath));

if(!exists)
    System.IO.Directory.CreateDirectory(Server.MapPath(subPath));

318
2018-01-30 14:45



Écrivez simplement cette ligne:

System.IO.Directory.CreateDirectory(myDir);
  • Si le dossier ne n'existe pas encore, ce sera créé.
  • Si le dossier existe déjà, la ligne sera ignoré.

Référence: Article sur Directory.CreateDirectory sur MSDN


178
2017-08-27 04:47



Vous pouvez créer le chemin s'il n'existe pas encore avec une méthode comme celle-ci:

using System.IO;

private void CreateIfMissing(string path)
{
  bool folderExists = Directory.Exists(Server.MapPath(path));
  if (!folderExists)
    Directory.CreateDirectory(Server.MapPath(path));
}

29
2018-01-30 14:45



Directory.Exists Cela explique comment vérifier si un fichier FilePath existe

Directory.CreateDirectory Ceci expliquera comment essayer et créer le FilePath s'il n'existe pas


27
2018-01-30 14:45



using System.IO

if (!Directory.Exists(yourDirectory))
    Directory.CreateDirectory(yourDirectory);

16
2018-01-30 14:46



Vous pouvez utiliser une clause try / catch et vérifier si elle existe:

  try
  {
    if (!Directory.Exists(path))
    {
       // Try to create the directory.
       DirectoryInfo di = Directory.CreateDirectory(path);
    }
  }
  catch (IOException ioex)
  {
     Console.WriteLine(ioex.Message);
  }

15
2018-01-30 14:45



Cette méthode créera un dossier s'il n'existe pas et ne fait rien s'il existe

Directory.CreateDirectory(path);

12
2017-12-30 14:07