964 Stimmen

Wenn ein Ordner nicht vorhanden ist, erstellen Sie ihn

Ich benutze eine FileUploader Kontrolle in meiner Anwendung. Ich möchte eine Datei in einem bestimmten Ordner speichern. Wenn dieser Ordner nicht existiert, möchte ich ihn zuerst erstellen und dann meine Datei in diesem Ordner speichern. Wenn der Ordner bereits existiert, speichere ich die Datei einfach in ihm.

Wie kann ich das tun?

1527voto

Mark Peters Punkte 16415
Utilisez System.IO.Directory.CreateDirectory .

Laut der offiziellen ".NET"-Dokumente brauchen Sie nicht erst zu prüfen, ob sie existiert.

System.io   >   Verzeichnis   >   Verzeichnis.CreateDirectory

Beliebige und alle Verzeichnisse, die in path erstellt werden, es sei denn, sie existieren bereits oder ein Teil von path ist ungültig. Wenn das Verzeichnis bereits existiert, erstellt diese Methode kein neues Verzeichnis, sondern gibt ein DirectoryInfo Objekt für das bestehende Verzeichnis.

        - learn.microsoft.com/dotnet/api/

422voto

Ravi Vanapalli Punkte 9439

Verwenden Sie den folgenden Code wie folgt Wie kann ich mit dem Server-Steuerelement für den Datei-Upload einen Ordner dynamisch erstellen? :

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

302voto

Nicolas Raoul Punkte 57157

Schreiben Sie einfach diese Zeile:

System.IO.Directory.CreateDirectory("my folder");
  • Wenn der Ordner noch nicht existieren wird es sein erstellt .
  • Wenn der Ordner existiert bereits wird die Zeile ignoriert .

Referenz: Artikel über Directory.CreateDirectory auf MSDN

Natürlich können Sie auch schreiben using System.IO; am Anfang der Quelldatei und schreiben Sie dann einfach Directory.CreateDirectory("my folder"); jedes Mal, wenn Sie einen Ordner erstellen wollen.

31voto

jeroenh Punkte 25392

Directory.CreateDirectory erklärt, wie man versucht, den Dateipfad zu erstellen, wenn er nicht existiert.

Directory.Exists erklärt, wie man überprüft, ob ein FilePath existiert. Dies ist jedoch nicht erforderlich, da CreateDirectory dies für Sie prüft.

28voto

Dennis Traub Punkte 48712

Sie können den Pfad, falls er noch nicht existiert, mit einer Methode wie der folgenden erstellen:

using System.IO;

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X