zoukankan      html  css  js  c++  java
  • 递归删除文件夹目录及文件的方法

    /****************************************
            * 函数名称:DeleteFolder
            * 功能说明:递归删除文件夹目录及文件
            * 参    数:dir:文件夹路径
            * 调用示列:
            *           string dir = Server.MapPath("test/");  
            *           DeleteFolder(dir);       
           *****************************************/
           /// <summary>
           /// 递归删除文件夹目录及文件
           /// </summary>
           /// <param name="dir"></param>  
           /// <returns></returns>
           public static void DeleteFolder(string dir)
           {
               if (Directory.Exists(dir)) //如果存在这个文件夹删除之 
               {
                   foreach (string d in Directory.GetFileSystemEntries(dir))
                   {
                       if (File.Exists(d))
                           File.Delete(d); //直接删除其中的文件                        
                       else
                           DeleteFolder(d); //递归删除子文件夹 
                   }
                   Directory.Delete(dir, true); //删除已空文件夹                 
               }
           }
    #region 获取文件夹大小
            /****************************************
             * 函数名称:GetDirectoryLength(string dirPath)
             * 功能说明:获取文件夹大小
             * 参    数:dirPath:文件夹详细路径
             * 调用示列:
             *           string Path = Server.MapPath("templates"); 
             *           Response.Write(DotNet.Utilities.FileOperate.GetDirectoryLength(Path));       
            *****************************************/
            /// <summary>
            /// 获取文件夹大小
            /// </summary>
            /// <param name="dirPath">文件夹路径</param>
            /// <returns></returns>
            public static long GetDirectoryLength(string dirPath)
            {
                if (!Directory.Exists(dirPath))
                    return 0;
                long len = 0;
                DirectoryInfo di = new DirectoryInfo(dirPath);
           //directoryinfo GetDirectories() 是获取指定目录的所有文件夹,directoryinfo GetFiles() 是获取指定目录的所有文件。
                foreach (FileInfo fi in di.GetFiles())
                {
                    len += fi.Length;
                }
                DirectoryInfo[] dis = di.GetDirectories();
                if (dis.Length > 0)
                {
                    for (int i = 0; i < dis.Length; i++)
                    {
                        len += GetDirectoryLength(dis[i].FullName);
                    }
                }
                return len;
            }
            #endregion
    
            #region 获取指定文件详细属性
            /****************************************
             * 函数名称:GetFileAttibe(string filePath)
             * 功能说明:获取指定文件详细属性
             * 参    数:filePath:文件详细路径
             * 调用示列:
             *           string file = Server.MapPath("robots.txt");  
             *            Response.Write(DotNet.Utilities.FileOperate.GetFileAttibe(file));         
            *****************************************/
            /// <summary>
            /// 获取指定文件详细属性
            /// </summary>
            /// <param name="filePath">文件详细路径</param>
            /// <returns></returns>
            public static string GetFileAttibe(string filePath)
            {
                string str = "";
                System.IO.FileInfo objFI = new System.IO.FileInfo(filePath);
                str += "详细路径:" + objFI.FullName + "<br>文件名称:" + objFI.Name + "<br>文件长度:" + objFI.Length.ToString() + "字节<br>创建时间" + objFI.CreationTime.ToString() + "<br>最后访问时间:" + objFI.LastAccessTime.ToString() + "<br>修改时间:" + objFI.LastWriteTime.ToString() + "<br>所在目录:" + objFI.DirectoryName + "<br>扩展名:" + objFI.Extension;
                return str;
            }
            #endregion
  • 相关阅读:
    ext表格范例
    基于对象的EXT组件间通信
    hibernate自定义生成主健
    Amcharts
    ExtJS之面向对象编程基本知识
    在Ext里写大应用 (翻译:米米饭)
    EXT表单常用验证
    JPA 复合主键
    PowerDesign15常用技巧
    spring security和EXT
  • 原文地址:https://www.cnblogs.com/vaevvaev/p/7463675.html
Copyright © 2011-2022 走看看