当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

C#中实现删除指定文件夹下的所有内容

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2018-12-31 11:47:09

:2011-03-19 10:33:21

本文给出的静态方法实现删除将指定文件下的所有内容。静态方法在调用时,不能使用类的实例来调用,只能通过类名来调用。

// ======================================================
// 实现一个静态方法将指定文件夹下面的所有内容Detele
// 测试的时候要小心操作,删除之后无法恢复。
// April 18April2005 In STU
// ======================================================
public static void DeleteDir(string aimPath)
{
       try
       {
              // 检查目标目录是否以目录分割字符结束如果不是则添加之
              if(aimPath[aimPath.Length-1] != Path.DirectorySeparatorChar) 
                     aimPath += Path.DirectorySeparatorChar;
              // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
              // 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
              // string[] fileList = Directory.GetFiles(aimPath);
              string[] fileList = Directory.GetFileSystemEntries(aimPath);
              // 遍历所有的文件和目录
              foreach(string file in fileList)
              {
                     // 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
                     if(Directory.Exists(file))
                     {
                            DeleteDir(aimPath+Path.GetFileName(file));
                     }
                     // 否则直接Delete文件
                     else
                     {
                            File.Delete (aimPath+Path.GetFileName(file));
                     }
              }
              //删除文件夹
              System.IO .Directory .Delete (aimPath,true);
       }
       catch (Exception e)
       {
              MessageBox.Show (e.ToString());
       }
}

以上方法只要进行适当改变就可以用于你的应用程序中。


C#中实现删除指定文件夹下的所有内容