手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#遍历文件夹及其子目录的完整实现方法
C#遍历文件夹及其子目录的完整实现方法
摘要:本文实例讲述了C#遍历文件夹及其子目录的完整实现方法。分享给大家供大家参考,具体如下:usingSystem;usingSystem.Col...

本文实例讲述了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("rn"); } 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#遍历文件夹及其子目录的完整实现方法】相关文章:

C#读写文件的方法汇总

c#简单读取文本的实例方法

c# 托盘双击不触发单击事件的实现方法

C#访问应用程序配置文件的方法

深入线程安全容器的实现方法

C#删除文件目录或文件的解决方法

c#解压文件的实例方法

WinForm子窗体访问父窗体控件的实现方法

C#获取进程的主窗口句柄的实现方法

解决C#获取鼠标相对当前窗口坐标的实现方法

精品推荐
分类导航