Ich verwende ein FileUploader-Steuerelement in meiner Anwendung. Ich möchte eine Datei in einem bestimmten Ordner speichern. Nun möchte ich, falls dieser Ordner nicht existiert, ihn zuerst erstellen und dann meine Datei in diesem Ordner speichern. Wenn der Ordner bereits vorhanden ist, speichern Sie einfach die Datei darin.
Wie kann ich das machen?
Wie andere gesagt haben, benutze System.IO.Directory.CreateDirectory
Sie müssen jedoch nicht zuerst prüfen, ob es vorhanden ist. Aus dem docs
Alle im Pfad angegebenen Verzeichnisse werden erstellt, es sei denn, sie existieren bereits oder ein Teil des Pfads ist ungültig. Wenn das Verzeichnis bereits vorhanden ist, erstellt diese Methode kein neues Verzeichnis, gibt jedoch ein DirectoryInfo-Objekt für das vorhandene Verzeichnis zurück.
Verwenden Sie den folgenden Code gemäß 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));
Schreiben Sie einfach diese Zeile:
System.IO.Directory.CreateDirectory("my folder");
Referenz: Artikel über Directory.CreateDirectory bei MSDN
Natürlich können Sie auch using System.IO;
am Anfang der Quelldatei und dann jedes Mal, wenn Sie einen Ordner erstellen möchten, Directory.CreateDirectory("my folder");
schreiben.
Directory.Exists
Hier wird erklärt, wie geprüft wird, ob ein FilePath vorhanden ist
Directory.CreateDirectory
Hier erfahren Sie, wie Sie versuchen, den Dateipfad zu erstellen, falls er nicht vorhanden ist
Sie können den Pfad erstellen, wenn er noch nicht vorhanden ist, und zwar mit einer Methode wie der folgenden:
using System.IO;
private void CreateIfMissing(string path)
{
bool folderExists = Directory.Exists(Server.MapPath(path));
if (!folderExists)
Directory.CreateDirectory(Server.MapPath(path));
}
Sie können eine try/catch-Klausel verwenden und prüfen, ob sie vorhanden ist:
try
{
if (!Directory.Exists(path))
{
// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(path);
}
}
catch (IOException ioex)
{
Console.WriteLine(ioex.Message);
}
Diese Methode erstellt einen Ordner, wenn er nicht existiert, und unternimmt nichts, wenn er existiert
Directory.CreateDirectory(path);
using System.IO
if (!Directory.Exists(yourDirectory))
Directory.CreateDirectory(yourDirectory);
if (!Directory.Exists(Path.GetDirectoryName(fileName)))
{
Directory.CreateDirectory(Path.GetDirectoryName(fileName));
}
Der folgende Code ist die beste (n) Codezeile (n), die ich verwende, um ein Verzeichnis zu erstellen, wenn es nicht vorhanden ist.
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/temp/"));
Wenn das Verzeichnis bereits vorhanden ist, erstellt diese Methode kein neues Verzeichnis, gibt jedoch ein DirectoryInfo-Objekt für das vorhandene Verzeichnis zurück. >
Dies war die Antwort, nach der ich gesucht habe, die ich aber nicht so schnell gefunden habe:
string pathToNewFolder = System.IO.Path.Combine(parentFolderPath, "NewSubFolder");
DirectoryInfo directory = Directory.CreateDirectory(pathToNewFolder);
// Will create if does not already exist (otherwise will ignore)
string createfolder = "E:/tmp /" + uId;
System.IO.Directory.CreateDirectory (Ordner erstellen);
Verwenden Sie den folgenden Code. Ich habe diesen Code zum Kopieren von Dateien und zum Erstellen eines neuen Ordners verwendet.
string fileToCopy = "filelocation\\file_name.txt";
String server = Environment.UserName;
string newLocation = "C:\\Users\\" + server + "\\Pictures\\Tenders\\file_name.txt";
string folderLocation = "C:\\Users\\" + server + "\\Pictures\\Tenders\\";
bool exists = System.IO.Directory.Exists(folderLocation);
if (!exists)
{
System.IO.Directory.CreateDirectory(folderLocation);
if (System.IO.File.Exists(fileToCopy))
{
MessageBox.Show("file copied");
System.IO.File.Copy(fileToCopy, newLocation, true);
}
else
{
MessageBox.Show("no such files");
}
}