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
  • 相关阅读:
    洛谷 P1194 飞扬的小鸟 题解
    洛谷 P1197 星球大战 题解
    洛谷 P1879 玉米田Corn Fields 题解
    洛谷 P2796 Facer的程序 题解
    洛谷 P2398 GCD SUM 题解
    洛谷 P2051 中国象棋 题解
    洛谷 P1472 奶牛家谱 Cow Pedigrees 题解
    洛谷 P1004 方格取数 题解
    洛谷 P2331 最大子矩阵 题解
    洛谷 P1073 最优贸易 题解
  • 原文地址:https://www.cnblogs.com/vaevvaev/p/7463675.html
Copyright © 2011-2022 走看看