Jawaban:
using System.IO;
...
Directory.CreateDirectory(@"C:\MP_Upload");
Directory.CreateDirectory melakukan apa yang Anda inginkan: Ini membuat direktori jika belum ada. Tidak perlu melakukan pemeriksaan eksplisit terlebih dahulu.
Setiap dan semua direktori yang ditentukan dalam jalur dibuat, kecuali jika sudah ada atau kecuali beberapa bagian dari jalur tidak valid. Parameter jalur menentukan jalur direktori, bukan jalur file. Jika direktori sudah ada, metode ini tidak melakukan apa-apa.
(Ini juga berarti bahwa semua direktori di sepanjang jalur dibuat jika diperlukan: CreateDirectory(@"C:\a\b\c\d")
cukup, bahkan jika C:\a
belum ada.)
Izinkan saya menambahkan peringatan tentang pilihan direktori Anda, meskipun: Membuat folder tepat di bawah root partisi sistem C:\
tidak disukai. Pertimbangkan untuk membiarkan pengguna memilih folder atau membuat folder di %APPDATA%
atau %LOCALAPPDATA%
sebagai gantinya (gunakan Environment.GetFolderPath untuk itu). Halaman MSDN dari Environment.SpecialFolder enumeration berisi daftar folder sistem operasi khusus dan tujuannya.
EnsureDirectoryExists
akan membuat metode ini lebih sulit ditemukan.
Directory.CreateDirectory
akan muncul jika nama folder cocok dengan nama file yang ada.
if(!System.IO.Directory.Exists(@"c:\mp_upload"))
{
System.IO.Directory.CreateDirectory(@"c:\mp_upload");
}
Create
menjadi CreateDirectory
:)
using System;
using System.IO;
using System.Windows.Forms;
namespace DirCombination
{
public partial class DirCombination : Form
{
private const string _Path = @"D:/folder1/foler2/folfer3/folder4/file.txt";
private string _finalPath = null;
private string _error = null;
public DirCombination()
{
InitializeComponent();
if (!FSParse(_Path))
Console.WriteLine(_error);
else
Console.WriteLine(_finalPath);
}
private bool FSParse(string path)
{
try
{
string[] Splited = path.Replace(@"//", @"/").Replace(@"\\", @"/").Replace(@"\", "/").Split(':');
string NewPath = Splited[0] + ":";
if (Directory.Exists(NewPath))
{
string[] Paths = Splited[1].Substring(1).Split('/');
for (int i = 0; i < Paths.Length - 1; i++)
{
NewPath += "/";
if (!string.IsNullOrEmpty(Paths[i]))
{
NewPath += Paths[i];
if (!Directory.Exists(NewPath))
Directory.CreateDirectory(NewPath);
}
}
if (!string.IsNullOrEmpty(Paths[Paths.Length - 1]))
{
NewPath += "/" + Paths[Paths.Length - 1];
if (!File.Exists(NewPath))
File.Create(NewPath);
}
_finalPath = NewPath;
return true;
}
else
{
_error = "Drive is not exists!";
return false;
}
}
catch (Exception ex)
{
_error = ex.Message;
return false;
}
}
}
}
String path = Server.MapPath("~/MP_Upload/");
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
Anda dapat mencoba ini ..
using System.IO;string path = "C:\MP_Upload";if(!Directory.Exists(path)){
Directory.CreateDirectory(path);}