删除目录和清空目录

2014-10-24 16:12:13  访问(1684) 赞(0) 踩(0)

#region 删除目录

        /// <summary>
        /// 递归循环删除目录(包括删除自己)
        /// </summary>
        /// <param name="dirName"></param>
        public static void DeleteDir(string dirName)
        {
            if (dirName == null || dirName.Length == 0)
                throw new Exception("string dirName为空。");

            // 目录不存在,返回 //
            if (!Directory.Exists(dirName))
                return;

            //针对当前目录建立目录引用对象
            DirectoryInfo dirInfo = new DirectoryInfo(dirName);

            FileSystemInfo[] fileSystemInfo 
                = 
                dirInfo.GetFileSystemInfos();

            if (!(fileSystemInfo == null || fileSystemInfo.Length == 0))
            {
                //循环判断当前目录下的文件和目录
                foreach (FileSystemInfo fsi in fileSystemInfo)
                {
                    //如果是文件
                    if (fsi is DirectoryInfo)
                    {
                        DeleteDir(fsi.FullName);
                    }
                    else
                    {
                        File.Delete(fsi.FullName);
                    }
                }
            }

            Directory.Delete(dirInfo.FullName);

        }

        /// <summary>
        /// 递归循环清空目录的内容
        /// </summary>
        /// <param name="dirName">目录名称</param>
        public static void ClearDir(string dirName)
        {
            if (dirName == null || dirName.Length == 0)
                throw new Exception("string dirName为空。");

            // 目录不存在,返回 //
            if (!Directory.Exists(dirName))
                return;


            //针对当前目录建立目录引用对象
            DirectoryInfo dirInfo = new DirectoryInfo(dirName);

            FileSystemInfo[] fileSystemInfo 
                = 
                dirInfo.GetFileSystemInfos();

            if (fileSystemInfo == null || fileSystemInfo.Length == 0)
                return;

            //循环判断当前目录下的文件和目录
            foreach (FileSystemInfo fsi in fileSystemInfo)
            {
                //如果是文件
                if (fsi is DirectoryInfo)
                {
                    ClearDir(fsi.FullName);

                    Directory.Delete(fsi.FullName);
                }
                else
                {
                    File.Delete(fsi.FullName);
                }
            }
        }

        #endregion 删除目录


标签:删除目录    清空目录 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)