程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> C#刪除多重文件夾

C#刪除多重文件夾

編輯:關於ASP.NET

      一個根文件夾,底下包含多級目錄,每一級又存在多個個子文件夾,每個文件夾裡面又存在多個文件。

      如果要刪除所有子文件又保存最頂級的目錄文件夾,那采用什麼辦法處理好呢?

      處理方法

      1、 直接刪除根文件夾,然後再創建根文件夾。

      void deleteAllFile(string path)

      {

      Directory.Delete(path,true);

      Directory.CreateDirectory(path);

      }

      2、遍歷所有子目錄文件夾的文件,逐個刪除。

      ///

     

      /// 遍歷文件夾及子文件夾所有文件

      ///

      /// string dir=ListFiles(new DirectoryInfo(dir));

      /// 文件夾目錄路徑

      /// 返回ArrayList對象

      public static System.Collections.ArrayList ListFiles(string fileDirectory)

      {

      ArrayList arylist = null;

      if (Directory.Exists(fileDirectory))

      {

      DirectoryInfo dinfo = new DirectoryInfo(fileDirectory);

      if (dinfo != null)

      {

      FileSystemInfo[] files = dinfo.GetFileSystemInfos();

      for (int i = 0; i < files.Length; i++)

      {

      FileInfo file = files[i] as FileInfo;

      if (file != null)

      {

      if (arylist == null)

      arylist = new ArrayList();

      arylist.Add(file);

      }

      else

      {

      ListFiles(files[i].FullName); //對於子目錄,進行遞歸調用

      }

      }

      }

      }

      return arylist;

      }

      用第一個方法最直接,不用遞歸,不用遍歷,但調用系統的方法,不知道內部原理怎麼運行的。

      總體來說應該是第一種方法比第二種方法的性能要好!待進一步求證。

      刪除一個文件夾下所有文件可以用如下文件方法。

      void deleteAllFile(string path)

      {

      foreach (string dirStr in Directory.GetDirectories(path))

      {

      DirectoryInfo dir = new DirectoryInfo(dirStr);

      }

      ArrayList folders=new ArrayList();

      FileSystemInfo[] fileArr = dir.GetFileSystemInfos();

      for (int i = 0; i < folders.Count; i++)

      {

      FileInfo f = folders[i] as FileInfo;

      if (f == null)

      {

      DirectoryInfo d = folders[i] as DirectoryInfo;

      d.Delete();

      }

      }

      }

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved