国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#遍歷文件夾及其子目錄的完整實現方法

2019-10-29 21:25:20
字體:
來源:轉載
供稿:網友

本文實例講述了C#遍歷文件夾及其子目錄的完整實現方法。分享給大家供大家參考,具體如下:

using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Security.AccessControl;using System.Text;namespace ConsoleApplication1{  class Program  {    static void Main(string[] args)    {      Console.WriteLine("STT");      string str = @"E:/";      if (!str.EndsWith("//"))      {        str += "//";      }      IList<FileInfo> lst = GetFiles(str);      if (!Directory.Exists(str))      {        try        {          Directory.CreateDirectory(str);        }        catch(Exception e)        {          Console.WriteLine(e.Message);          Console.ReadKey();          return;        }      }      if (File.Exists(str + "test.txt"))      {        File.Delete(str + "test.txt");      }      FileInfo file = new FileInfo(str + "test.txt");      if (!file.Directory.Exists)      {        Directory.CreateDirectory(file.DirectoryName);      }      using (StreamWriter outFileWriter = new StreamWriter(str + "test.txt", false, Encoding.UTF8))      {        StringBuilder sb = new StringBuilder();        foreach (FileInfo item in lst)        {          sb.Append("/"");          sb.Append(item.FullName);          sb.Append("/"");          sb.Append(",");          sb.Append("/r/n");        }        sb.Remove(sb.Length - 2, 2);        outFileWriter.WriteLine(sb.ToString());        outFileWriter.Flush();        outFileWriter.Close();      }      Console.WriteLine("END");      Console.ReadKey();    }    private static void GetDirectorys(string strPath, ref List<string> lstDirect)    {      DirectoryInfo diFliles = new DirectoryInfo(strPath);      DirectoryInfo[] diArr = diFliles.GetDirectories();      //DirectorySecurity directorySecurity = null;      foreach (DirectoryInfo di in diArr)      {        try        {          //directorySecurity = new DirectorySecurity(di.FullName, AccessControlSections.Access);          //if (!directorySecurity.AreAccessRulesProtected)          //{          lstDirect.Add(di.FullName);          GetDirectorys(di.FullName, ref lstDirect);          //}        }        catch        {          continue;        }      }    }    /// <summary>    /// 遍歷當前目錄及子目錄    /// </summary>    /// <param name="strPath">文件路徑</param>    /// <returns>所有文件</returns>    private static IList<FileInfo> GetFiles(string strPath)    {      List<FileInfo> lstFiles = new List<FileInfo>();      List<string> lstDirect = new List<string>();      lstDirect.Add(strPath);      DirectoryInfo diFliles = null;      GetDirectorys(strPath, ref lstDirect);      foreach (string str in lstDirect)      {        try        {          diFliles = new DirectoryInfo(str);          lstFiles.AddRange(diFliles.GetFiles());        }        catch        {          continue;        }      }      return lstFiles;    }  }}

希望本文所述對大家C#程序設計有所幫助。

 


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌拉特前旗| 剑阁县| 衡水市| 吉林市| 大足县| 沐川县| 铅山县| 满城县| 神农架林区| 岚皋县| 通许县| 彰化县| 军事| 桃源县| 广元市| 尚义县| 新宾| 五原县| 普定县| 安仁县| 即墨市| 上饶市| 自治县| 滨州市| 青河县| 方山县| 华宁县| 且末县| 陵川县| 如皋市| 赤峰市| 阿瓦提县| 滁州市| 伊吾县| 会东县| 迁西县| 若羌县| 嘉鱼县| 荥经县| 渑池县| 安西县|