zoukankan      html  css  js  c++  java
  • C# 向下遍历删除子目录和子文件 及 向上遍历空的父目录

    本示例效果如下:
    根据指定的文件夹路径如E:\\a\\b\\d
    向下遍历删除其下的子文件及子目录
    删除其本身
    向上遍历删除其空的父目录

    using System.IO;

    protected void Button1_Click(object sender, EventArgs e)
    {
        string dir = "E:\\a\\b\\d";
        //string dir = "E:\\a";
        string pdir = Directory.GetParent(dir).FullName;
        DeleteFolder(dir);       
        DeletePEmptyFolder(pdir);
    }

    public void DeleteFolder(string dir)
    {
        if (Directory.Exists(dir))
        {
            foreach (string d in Directory.GetFileSystemEntries(dir))
            {
                if (File.Exists(d))
                {
                    FileInfo fi = new FileInfo(d);
                    if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
                        fi.Attributes = FileAttributes.Normal;
                    File.Delete(d);//直接删除其中的文件  
                }
                else
                    DeleteFolder(d);//递归删除子文件夹  
            }
            Directory.Delete(dir);//删除已空文件夹 
        }
    }

    public void DeletePEmptyFolder(string dir)
    {
        if (Directory.GetDirectories(dir).Length == 0)
        {
            string pdir = Directory.GetParent(dir).FullName;
            if (Directory.Exists(dir))
                Directory.Delete(dir);
            DeletePEmptyFolder(pdir);
        }
    }

  • 相关阅读:
    06springmvc文件上传
    07springmvc文件下载
    05springmvc-json-ajax使用
    04springmvc请路径参数
    03springmvc项目使用静态资源
    02springmvc注解入门
    springmvc入门
    20mybatis集成jndi
    19mybatis集成dbcp
    怎样用hibernate验证登陆界面的用户名和密码
  • 原文地址:https://www.cnblogs.com/zhwl/p/2769906.html
Copyright © 2011-2022 走看看