ডিরেক্টরিতে C:/
নামের একটি ফোল্ডার রয়েছে কিনা তা আমি কীভাবে চেক করতে পারি MP_Upload
এবং এটি উপস্থিত না থাকলে স্বয়ংক্রিয়ভাবে ফোল্ডারটি তৈরি করতে পারে?
আমি ভিজ্যুয়াল স্টুডিও 2005 সি # ব্যবহার করছি।
উত্তর:
using System.IO;
...
Directory.CreateDirectory(@"C:\MP_Upload");
ডিরেক্টরি। ক্রিয়েট ডিরেক্টরী আপনি যা চান ঠিক তেমনটি করে: এটি ডিরেক্টরিটি তৈরি করে যদি এটি উপস্থিত না থাকে। প্রথমে সুস্পষ্ট চেক করার দরকার নেই।
পথে সুনির্দিষ্ট যে কোনও এবং সমস্ত ডিরেক্টরি তৈরি করা হয়, যদি না সেগুলি ইতিমধ্যে উপস্থিত থাকে বা পাথের কিছু অংশ অবৈধ না হয়। পাথ প্যারামিটার একটি ফাইল পাথ নয়, একটি ডিরেক্টরি পাথ নির্দিষ্ট করে। ডিরেক্টরি ইতিমধ্যে বিদ্যমান থাকলে, এই পদ্ধতিটি কিছুই করে না।
(এটিরও অর্থ হ'ল প্রয়োজন অনুসারে পথের সমস্ত ডিরেক্টরি তৈরি করা হয়েছে: CreateDirectory(@"C:\a\b\c\d")
পর্যাপ্ততা রয়েছে, এমনকি C:\a
এখনও উপস্থিত না থাকলেও ))
আপনার ডিরেক্টরিটি বেছে নেওয়ার বিষয়ে আমি সাবধানতার সাথে একটি শব্দ যুক্ত করি, যদিও: সিস্টেম পার্টিশনের মূলের নীচে সরাসরি একটি ফোল্ডার তৈরি C:\
করা ভ্রূণ্য। ব্যবহারকারীর একটি ফোল্ডার বেছে নেওয়া %APPDATA%
বা %LOCALAPPDATA%
তার পরিবর্তে একটি ফোল্ডার তৈরি করা বিবেচনা করুন (তার জন্য পরিবেশগত.গেটফোল্ডারপাথ ব্যবহার করুন)। এনভায়রনমেন্টের এমএসডিএন পৃষ্ঠা.স্পেশালফোল্ডার গণনাতে বিশেষ অপারেটিং সিস্টেম ফোল্ডার এবং তাদের উদ্দেশ্যগুলির একটি তালিকা রয়েছে।
EnsureDirectoryExists
পদ্ধতিটি খুঁজে পাওয়া আরও শক্ত করে তুলেছে।
Directory.CreateDirectory
ফোল্ডারের নামটি বিদ্যমান ফাইলের নামের সাথে মেলে তবে ছুঁড়ে ফেলবে।
if(!System.IO.Directory.Exists(@"c:\mp_upload"))
{
System.IO.Directory.CreateDirectory(@"c:\mp_upload");
}
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);
}
আপনি এটি চেষ্টা করতে পারেন ..
using System.IO;string path = "C:\MP_Upload";if(!Directory.Exists(path)){
Directory.CreateDirectory(path);}