只是一個簡單的問題。我使用的是這樣的FileStream和創建文件夾
FileStream fs = new FileStream(fileName, FileMode.Create);
我想知道是否有一個參數,我可以傳遞給它,迫使它來創建文件夾,如果它不存在。此時如果找不到文件夾,則拋出異常。
如果有更好的方法,然後使用FileStream
我願意接受。
只是一個簡單的問題。我使用的是這樣的FileStream和創建文件夾
FileStream fs = new FileStream(fileName, FileMode.Create);
我想知道是否有一個參數,我可以傳遞給它,迫使它來創建文件夾,如果它不存在。此時如果找不到文件夾,則拋出異常。
如果有更好的方法,然後使用FileStream
我願意接受。
Directory.CreateDirectory方法(String)
將創建一個由路徑指定的所有目錄和子目錄。
實施例:
string fileName = @"C:\Users\SomeUser\My Documents\Foo\Bar\Baz\text1.txt";
Directory.CreateDirectory(Path.GetDirectoryName(fileName));
using (FileStream fs = new FileStream(fileName, FileMode.Create))
{
// ...
}
(Path.GetDirectoryName文件名的目錄部分返回。)
是這樣的:
void EnsureFolder(string path)
{
string directoryName = Path.GetDirectoryName(path);
if ((directoryName.Length > 0) && (!Directory.Exists(directoryName)))
{
Directory.CreateDirectory(directoryName);
}
}
這是爲什麼這麼少upvoted,它檢查和創建文件夾的好方法。 – 2015-06-01 11:14:53
@ChaitanyaGadkari可能是因爲如果目錄已經存在,Directory.CreateDirectory不會引發異常;所以對於大多數面臨類似問題的人來說,dtb的答案是簡潔的。 – nullable 2017-05-25 09:51:28
說我有/ folder1中/文件夾2/folder3/folder4/file.txt作爲文件名和folder1不存在。上面將創建所有4個文件夾。 – 2010-09-12 14:29:15
@Ash Burlaczenko:我剛測試過它,是的,它的確如此。 – dtb 2010-09-12 14:30:24
如果該文件夾已存在並且您運行了該行,將會發生什麼 – 2010-09-12 14:37:49