私は自分のアプリケーションでFileUploaderコントロールを使用しています。指定したフォルダにファイルを保存したいこのフォルダが存在しない場合は、最初に作成してからファイルをこのフォルダに保存します。フォルダがすでに存在する場合は、その中にファイルを保存するだけです。
どうすればこれができますか?
他の人が言っているように、System.IO.Directory.CreateDirectory
を使いなさい
しかし、それが最初に存在するかどうかを確認する必要はありません。 docs から
Pathで指定されたディレクトリは、すでに存在している場合、またはpathの一部が無効である場合を除いて、作成されます。ディレクトリがすでに存在する場合、このメソッドは新しいディレクトリを作成しませんが、既存のディレクトリのDirectoryInfoオブジェクトを返します。
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));
この行を書くだけです:
System.IO.Directory.CreateDirectory("my folder");
参照: MSDNのDirectory.CreateDirectoryに関する記事
もちろん、ソースファイルの先頭にusing System.IO;
を書いて、フォルダを作成するたびにDirectory.CreateDirectory("my folder");
を書くこともできます。
パスがまだ存在しない場合は、次のような方法でパスを作成できます。
using System.IO;
private void CreateIfMissing(string path)
{
bool folderExists = Directory.Exists(Server.MapPath(path));
if (!folderExists)
Directory.CreateDirectory(Server.MapPath(path));
}
Directory.Exists
これはFilePathが存在するかどうかをチェックする方法を説明します
Directory.CreateDirectory
FilePathが存在しない場合の作成方法と作成方法を説明します。
Try/catch節を使用して、それが存在するかどうかを確認することができます。
try
{
if (!Directory.Exists(path))
{
// Try to create the directory.
DirectoryInfo di = Directory.CreateDirectory(path);
}
}
catch (IOException ioex)
{
Console.WriteLine(ioex.Message);
}
using System.IO
if (!Directory.Exists(yourDirectory))
Directory.CreateDirectory(yourDirectory);
このメソッドは、存在しない場合はフォルダを作成し、存在する場合は何もしません。
Directory.CreateDirectory(path);
if (!Directory.Exists(Path.GetDirectoryName(fileName)))
{
Directory.CreateDirectory(Path.GetDirectoryName(fileName));
}
以下のコードは、ディレクトリが存在しない場合にディレクトリを作成するために私が使用するコードの最良の行です。
System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("~/temp/"));
ディレクトリがすでに存在する場合、このメソッドは新しいディレクトリを作成しませんが、既存のディレクトリのDirectoryInfoオブジェクトを返します。 >
これが私が探していた答えでしたが、すぐには見つかりませんでした。
string pathToNewFolder = System.IO.Path.Combine(parentFolderPath, "NewSubFolder");
DirectoryInfo directory = Directory.CreateDirectory(pathToNewFolder);
// Will create if does not already exist (otherwise will ignore)
以下のコードを使用してください。このコードをファイルのコピーに使用し、新しいフォルダを作成しました。
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");
}
}
string createfolder = "E:/ tmp /" + uId;
System.IO.Directory.CreateDirectory(作成フォルダー);