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

首頁 > 編程 > C# > 正文

C#遍歷文件夾及其子目錄的完整實現(xiàn)方法

2020-01-24 01:04:59
字體:
供稿:網(wǎng)友

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

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("http://"))      {        str += "http://";      }      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>    /// 遍歷當(dāng)前目錄及子目錄    /// </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;    }  }}

更多關(guān)于C#相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《C#遍歷算法與技巧總結(jié)》、《C#程序設(shè)計之線程使用技巧總結(jié)》、《C#操作Excel技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計入門教程

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新宁县| 北票市| 西平县| 红桥区| 五河县| 聂荣县| 土默特右旗| 榆中县| 禄劝| 民权县| 湛江市| 昌平区| 乌拉特后旗| 嘉定区| 顺义区| 南阳市| 永清县| 嘉定区| 谷城县| 溆浦县| 建昌县| 临江市| 宜宾县| 和硕县| 扬州市| 筠连县| 瑞丽市| 乌鲁木齐县| 南康市| 钦州市| 安宁市| 新丰县| 四子王旗| 麻城市| 贺兰县| 遂昌县| 五指山市| 东港市| 泗阳县| 洛宁县| 来凤县|