示例#1
0
 public static void DeleteDir(DirectoryInfo dir)
 {
     if (dir == null)
     {
         throw new NullReferenceException("目录不存在");
     }
     DirectoryInfo[] directories = dir.GetDirectories();
     for (int i = 0; i < directories.Length; i++)
     {
         DirectoryInfo dir2 = directories[i];
         QFileUtils.DeleteDir(dir2);
     }
     FileInfo[] files = dir.GetFiles();
     for (int j = 0; j < files.Length; j++)
     {
         FileInfo fileInfo = files[j];
         QFileUtils.DeleteFile(fileInfo.FullName);
     }
     dir.Delete();
 }
示例#2
0
    public static bool DeleteDir(string dir, bool onlyDir)
    {
        if (dir == null || dir.Trim() == string.Empty)
        {
            throw new NullReferenceException("目录dir=" + dir + "不存在");
        }
        if (!Directory.Exists(dir))
        {
            return(false);
        }
        DirectoryInfo directoryInfo = new DirectoryInfo(dir);

        if (directoryInfo.GetFiles().Length == 0 && directoryInfo.GetDirectories().Length == 0)
        {
            Directory.Delete(dir);
            return(true);
        }
        if (!onlyDir)
        {
            return(false);
        }
        QFileUtils.DeleteDir(directoryInfo);
        return(true);
    }