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类

Directory类用于创建、移动和枚举目录和子目录的实例方法。无法继承此类,其命名空间为System.IO;上面代码中主要采用Directory提供的静态方法CreateDirectory()创建文件夹;而Directoryinfo类是实例类,这两个类包含的大部分方法都是相同的,典型操作有创建、复制、移动、重命名和删除。如果打算多次重用某个对象应考虑使用DirectoryInfo实例方法,而不是Directory静态方法,因为并不总需要安全检查。下面介绍一些简单的方法:

//Directory
Directory.Exists("e:\\file");                //检查文件是否存在
Directory.CreateDirectory("e:\\file");       //创建文件夹
Directory.Delete("e:\\file");                //删除文件夹
Directory.GetCreationTime("e:\\nba");        //获取目录的创建时间和日期(dateTime型->ToString)
Directory.GetCurrentDirectory();             //获取应用程序当前目录(返回值string)
Directory.GetFiles("e:\\");                  //获取目录中文件名称
string[] files = Directory.GetFiles("e:\\");
Directory.GetDirectoryRoot("e:\\file");       //获取路径根目录
Directory.Move("E:\\","F:\\");                //移动文件夹(E移动到F)
Directory.SetCreationTime(string,DateTime);   //设置文件目录创建时间日期
//DirectoryInfo
DirectoryInfo dir = new DirectoryInfo(path);  //实例对象
dir.GetFileSystemInfos();                     //获取目录中所有文件盒子目录
dir.GetFiles();                               //返回当前目录文件列表
dir.MoveTo(string);                           //移动文件或重命名

参考 http://msdn.microsoft.com/zh-cn/library/System.IO.DirectoryInfo(v=vs.80).aspx

五.总结

文章主要介绍基于Directory类和DirectoryInfo类的文件夹、文件操作的基础知识,其中通过例子介绍了FolderBrowserDialog组件等知识,文章最后感谢MSDN中的一些知识和《C#范例开发大全》书籍及作者。同时写该文章主要原是对自己学习该知识的一个总结与记录,可能内容很简单也不是很实用,但还是希望文章对大家有所帮助。如果有错误或不足之处,见谅!

(By:Eastmount 2013-9-21 下午4点 http://blog.csdn.net/eastmount/

时间: 2024-10-24 08:25:06

C# 文件操作之创建文件夹的相关文章

C# 文件操作函数 创建文件 判断存在_C#教程

文件创建: 复制代码 代码如下: File.Create(Application.StartupPath + "\\AlarmSet.txt");//创建该文件 System.IO.Path.GetFileName(filePath)       //返回带扩展名的文件名 System.IO.Path.GetFileNameWithoutExtension(filePath)     //返回不带扩展名的文件名 System.IO.Path.GetDirectoryName(fileP

PHP 文件操作类创建文件并写入

  if (! empty ( $mode )) { $this->mode = $mode; } //判断写入的内容 if (! empty ( $content )) { $this->content = $content; } $handle = fopen ( $this->path, $this->mode ); //拆分换行 $string = explode ( ",", $this->content ); foreach ( $string

JAVA之旅(二十八)——File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤

JAVA之旅(二十八)--File概述,创建,删除,判断文件存在,创建文件夹,判断是否为文件/文件夹,获取信息,文件列表,文件过滤 我们可以继续了,今天说下File 一.File概述 文件的操作是非常重要的,我们先来看下他的基本概念 用于将文件或者文件夹封装成对象 方便对文件和文件夹的操作 File对象可以作为参数传递给流的构造函数 我们写个小例子先 package com.lgl.hellojava; import java.io.File; public class HelloJJAVA {

JSP文件操作例程 - 读文件

js <%--作者:何志强[hhzqq@21cn.com]日期:2000-08-07版本:1.0功能:JSP文件操作例程 - 读文件--%> <%@ page contentType="text/html;charset=gb2312"%> <%//变量声明java.lang.String strFileName;     //文件名java.io.File objFile;             //文件对象java.io.FileReader obj

数据-MFC文件操作问题,文件改写、插入、删除等等。求大神帮忙

问题描述 MFC文件操作问题,文件改写.插入.删除等等.求大神帮忙 问题有点繁琐,请耐心看完. 1.高速以太网接收数据,再把接收到的数据写入计算机文件. 2.接收到的数据要按时间先后顺序存放,每一个数据帧头都有时间序列 3.由于网络延时很大,有些后发送的数据帧先到达,已致接收到的数据包错乱 例如: 按时间序列先后有A.B.C三个数据帧依次发给计算机,现计算机收到数据帧先后顺序是A.C.B,计算机应该将数据存储成A.B.C 问题: 1.由于是高速传输数据量大,计算机不可能一直保存数据,等顺序正确后

c++-运行一个C++程序进行文件操作时 打开文件 总会把文件先变为空的 再打开 这是为什么呢?求解

问题描述 运行一个C++程序进行文件操作时 打开文件 总会把文件先变为空的 再打开 这是为什么呢?求解 int main() { system("color 31"); ofstream file("同学录系统.txt",ios::out); if(!file) { system("color 35"); cout<<"对不起,文件打开失败!"< abort(); //程序异常终止进程 } cout int

asp中文件与文件夹常用处理函数(文件后缀、创建文件等)_应用技巧

复制代码 代码如下: '===================================== '获得文件后缀 '===================================== Function Get_Filetxt(ByVal t0) Dim t1 IF Len(t0)<2 Or Instr(t0,".")=0 Then Get_Filetxt=False:Exit Function t1=Split(t0,".") Get_Filetxt

PYTHON 文件操作之创建,删除,修改处理

  平时会对一些对系统文件或者目录的进行增删改查,这就需要用到python的一些库,例如os等   对文件进行操作 首先要先引入os Import os 读写一个文件需要打开这个文件 可以用Open(dir,type)来操作,打开一个文件,或者写一个文件,中的目录如果在windows中路径需要用 "\" 双斜杠分隔,也可以用r来保持字符串中目录原路径r'c:/test.txt' file = open("c:\test.txt","w+")  #

Java的文件操作--2(Zip文件释放)

  在java中专门有一个对zip文件操作的包(java.util.zip),对zip文件操作挺方便的,上次说写一个zip文件释放程序,花了一天时间终于写完了,起先想起来挺简单的:原理就是将zip文件中的文件夹和文件通过ZipInputStream和ZipEntry类一一得出,然后分别再对应目录下创建文件和文件夹.可是实现起来就不是那么回事了,其中有好多细节问题都不好解决,其中在调用ZipInputStream中的getNextEntry方法时如果zip文件中包含中文路径名或者文件名就会抛出异常