欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2016年06月29日 10:27:39   作者:Eversnow  
這篇文章主要介紹了C#遍歷文件夾及其子目錄的方法,涉及C#文件與目錄的基本操作技巧,簡(jiǎn)單實(shí)用,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#遍歷文件夾及其子目錄的完整實(shí)現(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("\\"))
      {
        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>
    /// 遍歷當(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)容感興趣的讀者可查看本站專(zhuān)題:《C#遍歷算法與技巧總結(jié)》、《C#程序設(shè)計(jì)之線程使用技巧總結(jié)》、《C#操作Excel技巧總結(jié)》、《C#中XML文件操作技巧匯總》、《C#常見(jiàn)控件用法教程》、《WinForm控件用法總結(jié)》、《C#數(shù)據(jù)結(jié)構(gòu)與算法教程》、《C#數(shù)組操作技巧總結(jié)》及《C#面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程

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

相關(guān)文章

  • C# Winform中如何繪制動(dòng)畫(huà)示例詳解

    C# Winform中如何繪制動(dòng)畫(huà)示例詳解

    這篇文章主要給大家介紹了關(guān)于C# Winform中如何繪制動(dòng)畫(huà)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用C# Winform具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • c# 基于wpf,開(kāi)發(fā)OFD電子文檔閱讀器

    c# 基于wpf,開(kāi)發(fā)OFD電子文檔閱讀器

    這篇文章主要介紹了c# 如何基于wpf,開(kāi)發(fā)OFD電子文檔閱讀器,幫助大家更好的理解和學(xué)習(xí)使用c#的wpf技術(shù),感興趣的朋友可以了解下
    2021-03-03
  • ToLua框架下C#與Lua代碼的互調(diào)操作

    ToLua框架下C#與Lua代碼的互調(diào)操作

    這篇文章主要介紹了ToLua框架下C#與Lua代碼的互調(diào)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • C#模擬window操作鼠標(biāo)的方法

    C#模擬window操作鼠標(biāo)的方法

    這篇文章主要介紹了C#模擬window操作鼠標(biāo)的方法,可實(shí)現(xiàn)模擬鼠標(biāo)移動(dòng)到固定位置后點(diǎn)擊右鍵的功能,涉及鼠標(biāo)常用事件的操作技巧,需要的朋友可以參考下
    2015-07-07
  • C#通過(guò)Builder模式造車(chē)

    C#通過(guò)Builder模式造車(chē)

    這篇文章介紹了C#通過(guò)Builder模式造車(chē)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • C# Csv實(shí)現(xiàn)基本的讀寫(xiě)和轉(zhuǎn)換DataTable

    C# Csv實(shí)現(xiàn)基本的讀寫(xiě)和轉(zhuǎn)換DataTable

    本文主要介紹了C# Csv實(shí)現(xiàn)基本的讀寫(xiě)和轉(zhuǎn)換DataTable,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • C# Email發(fā)送郵件 對(duì)方打開(kāi)郵件可獲得提醒

    C# Email發(fā)送郵件 對(duì)方打開(kāi)郵件可獲得提醒

    這篇文章主要為大家詳細(xì)介紹了C# Email發(fā)送郵件功能,對(duì)方打開(kāi)通知你,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • DevExpress GridControl實(shí)現(xiàn)根據(jù)RowIndex和VisibleColumnsIndex來(lái)獲取單元格值

    DevExpress GridControl實(shí)現(xiàn)根據(jù)RowIndex和VisibleColumnsIndex來(lái)獲取單元格

    這篇文章主要介紹了DevExpress GridControl實(shí)現(xiàn)根據(jù)RowIndex和VisibleColumnsIndex來(lái)獲取單元格值,需要的朋友可以參考下
    2014-08-08
  • C#設(shè)計(jì)模式之外觀模式介紹

    C#設(shè)計(jì)模式之外觀模式介紹

    外觀模式:為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,此模式定義了一個(gè)高層的接口,這個(gè)借口使得這子系統(tǒng)容易使用
    2012-10-10
  • Unity接入高德開(kāi)放API實(shí)現(xiàn)IP定位

    Unity接入高德開(kāi)放API實(shí)現(xiàn)IP定位

    這篇文章主要為大家介紹了Unity如何接入高德開(kāi)放API實(shí)現(xiàn)IP定位功能,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定參考價(jià)值,需要的可以參考一下
    2022-04-04

最新評(píng)論