日期:2014-05-17  浏览次数:20812 次

C# 文件操作之创建文件夹

本文章主要是讲述C#中文件操作的基础知识,如何创建文件夹、创建文件、介绍Directory类\DirectoryInfo类和使用FolderBrowserDialog组件(文件夹对话框)。文章属于基础知识,参考了书籍刘丽霞《C#范例开发大全》,希望对大家有用!

一.界面设计

创建的C# Windows窗体应用程序,界面设计如下添加Lable控件、TextBox控件(其中textBox1可设置属性为只读)、Button控件和FolderBrowserDialog组件(文件夹对话框),点击"浏览按钮"时会弹出"浏览文件夹"的对话框供选择要创建文件夹的路径。同时输入创建个数点击"创建文件夹"按钮可以实现批量创建文件夹功能。

 

二.源代码

1.添加命名空间

在文件操作中,Directory类和DirectoryInfo类的命名空间都是system.IO:

using System.IO;

2.源代码

点击"浏览"按钮和“创建文件夹”按钮分别实现相应的Click事件,同时添加一个变量string path\filename记录创建文件夹的路径和文件夹名,代码如下:

//定义变量
string path = "";                                        //文件路径
string filename = "";                                    //文件夹名
//点击"浏览"按钮
private void button3_Click(object sender, EventArgs e)
{
    //使用文件对话框查找文件夹创建的路径
    if(folderBrowserDialog1.ShowDialog() == DialogResult.OK)   
    {
        path = this.folderBrowserDialog1.SelectedPath;  //获取用户选中路径
        textBox1.Text = path;                           //显示路径
    }
}
//点击"创建文件夹"按钮
private void button1_Click(object sender, EventArgs e)
{
    if (textBox2.Text == "")  //创建个数不为0
    {
        MessageBox.Show("请输入创建文件夹的个数!");
        return;
    }
    //Convert将一个基本数据类型转换为另一个数据类型
    int num = Convert.ToInt32(textBox2.Text);             //创建文件夹个数
    //循环创建文件夹
    for (int i = 0; i < num; i++)
    {
        filename = path + "\\新建文件夹" + i.ToString();    //组合路径
        Directory.CreateDirectory(filename);              //创建文件夹
    }
    MessageBox.Show("文件夹创建成功!");
}

3.运行结果

选择路径后,点击"创建"按钮就会在相应目录下创建文件夹,如果想创建txt文件可以用File.Create(string path)创建;建议在程序中尽量使用try..catch进行异常信息处理。上面核心知识有两点:(后面将详细介绍)
                      (1).使用FolderBrowserDialog组件获取创建文件夹路径;
                      (2).使用Directory类提供的静态方法CreateDirectory()实现创建文件夹.

三.FolderBrowserDialog组件

在winform程序中我们经常需要使用FolderBrowserDialog组件打开相应路径,该控件的运行结果如下图所示:

它的实现代码基本如下:

//FolderBrowserDialog:文件对话框获取文件夹创建的路径
//方法一:调用folderBrowserDialog1
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)   //DialogResult获取对话框结果"确定"
{
    path = this.folderBrowserDialog1.SelectedPath;         //获取用户选中路径
    textBox1.Text = path;                                  //显示路径
}
//方法二:动态实例FolderBrowserDialog控件
FolderBrowserDialog folder = new FolderBrowserDialog();
if (folder.ShowDialog() == DialogResult.OK)
{
    path = folder.SelectedPath;                            //获取用户选中路径
    textBox1.Text = path;                                  //显示路径
}

它提供一种方法提示用户浏览、创建并最终选择一个文件夹,但不可以选择文件;通过浏览树型结构呈现。其中我们使用的SelectedPath属性是获取或设置用户选定的路径(详解MSDN)。同时与它类似的控件还有保存文件位置对话框saveFileDialog控件和打开对话框OpenFileDialog控件:

//实例
SaveFileDialog folder = new SaveFileDialog();
folder.Filter = "网页文件(*.htm)|*.htm|ASP.NET文件(*.aspx)|*.aspx";    
//打开保存对话框 点击"确定"按钮执行  
if (folder.ShowDialog() == DialogResult.OK)
{
    //读取数据、写入数据操作 如:
    stream.ReadToEnd();
    stream.Write();
    stream.Close();
}

四.Directory类和DirectoryInfo类