删除文件夹(c#)

删除文件夹(c#)  


 

    这个功能是简单的文件操作的一部分,本来以为很是简单,但后来发现如果文件夹内有文件,运行则会报错:目录已存在!
    起初的想法很简单 ,先删除原文件夹,然后再创建一个同名的空文件夹。
System.IO.Directory.Delete(txtAimDirectory.Text);
System.IO.Directory.CreateDirectory(txtAimDirectory.Text);
    后来查看一些资料,知道文件夹中可能含有文件夹、文件,如何清空呢?
直接贴上代码:(用到梯归)
private void DeleteFolder(string dir)
        {
            // 循环文件夹里面的内容
            foreach (string f in Directory.GetFileSystemEntries(dir))
            {
                // 如果是文件存在
                if (File.Exists(f))
                {
                    FileInfo fi = new FileInfo(f);
                    if (fi.Attributes.ToString().IndexOf("Readonly") != 1)
                    {
                        fi.Attributes = FileAttributes.Normal;
                    }
                    // 直接删除其中的文件
                    File.Delete(f);
                }
                else
                {
                    // 如果是文件夹存在
                    // 递归删除子文件夹
                    DeleteFolder(f);
                }
            }
            // 删除已空文件夹
            Directory.Delete(dir);
        }

posted @ 2012-03-19 09:56  晴天有时下鱼  阅读(216)  评论(0编辑  收藏  举报