创建文件夹
创建文件夹主要使用Directory类的Create方法
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog FBDialog = new FolderBrowserDialog();//创建FolderBrowserDialog对象
if (FBDialog.ShowDialog() == DialogResult.OK)//判断是否选择文件夹
{
string strPath = FBDialog.SelectedPath;//记录选择的文件夹
if (strPath.EndsWith("\\"))
textBox1.Text = strPath;//显示选择的文件夹
else
textBox1.Text = strPath + "\\";
}
}
private void button2_Click(object sender, EventArgs e)
{
DirectoryInfo DInfo = new DirectoryInfo(textBox1.Text + textBox2.Text);//创建DirectoryInfo对象
DInfo.Create();//创建文件夹
}
删除文件夹
思路:删除文件夹主要用到了DirectoryInfo类的Delete方法,语法如下:
public override void Delete();
public void Delete(bool recursive);
转存失败重新上传取消 参数说明:若为true,则删除该文件夹及其子文件夹和所有文件,否则为false。
例:
public partial class Frm_Main : Form
{
public Frm_Main()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
FolderBrowserDialog FBDialog = new FolderBrowserDialog();//创建FolderBrowserDialog对象
if (FBDialog.ShowDialog() == DialogResult.OK)//判断是否选择了文件夹
textBox1.Text = FBDialog.SelectedPath;//显示选择的文件夹
}
private void button2_Click(object sender, EventArgs e)
{
DirectoryInfo DInfo = new DirectoryInfo(textBox1.Text);//创建DirectoryInfo对象
DInfo.Delete(true);//删除文件夹所有内容
MessageBox.Show("删除文件夹成功!");
}
}
注:Directory类和DirectoryInfo类的区别:Directory是静态类,所以他的调用需要字符串参数为每一个方法调用规定文件夹路径,因此如果要在对象上进行单一方法调用,则可以使用静态Directory类,在这种情况下静态调用的速度要快一些,因为.Net框架不必执行实例化对象并调用其方法的过程。如果在文件夹上执行几种操作,则创建DirectoryInfo对象并是用其方法就更好一些,这样会提高效率,因为对象在文件夹上引用正确的文件夹,而静态类就必须每次都寻找文件夹。
获取所有逻辑磁盘目录
思路:获取计算机中的所有逻辑分区,主要通过Directory类的GetLogicalDrives方法实现,然后获取逻辑分区下所有自问佳佳和文件,通过Directory类的GetDirectories方法和GetFiles方法实现。
(1)、GetLogicalDrives方法:检索计算机上逻辑分区的名称。语法如下:
public static string[] GetLogicalDrivers()
(2)、GetDirectories方法:该方法用来获取指定文件夹中子文件夹的名称。语法如下:
public static String[] GetDirectries(string path)
参数说明:path为其返回子文件夹名称的数组的路径。
返回值:一个类型String的数组,他包含path中子文件夹的名称。
(3)、GetFiles方法 该方法返回指定文件夹的文件的名称。语法如下:
public static string[] GetFiles(string path)
参数说明:path将从其检索文件的文件夹
返回值:指定文件夹中文件名得 String数组。
例:
public void listFolders(ToolStripComboBox tscb)//获取本地磁盘目录
{
string[] logicdrives = System.IO.Directory.GetLogicalDrives();
for (int i = 0; i < logicdrives.Length; i++)
{
tscb.Items.Add(logicdrives[i]);
tscb.SelectedIndex = 0;
}
}