当前位置: 代码迷 >> C# >> 算法~将文件夹下所有文件输出到日志文件中(包括全部子文件夹下的)
  详细解决方案

算法~将文件夹下所有文件输出到日志文件中(包括全部子文件夹下的)

热度:701   发布时间:2016-04-28 08:24:53.0
算法~将文件夹下所有文件输出到日志文件中(包括所有子文件夹下的)

概念:

算法文章,总是带给我们无穷的思考和兴趣,一个问题,多种解决方法,看你如何去思考它,对于标题所引出的问题,我觉得,使用递归是比较有效的方法,当然递归还有很多使用场合,如树型分类列表的操作等等。

注意:

使用递归时,初学者要特别注意的就是“出口”,必须为递归提供一个出口,否则你的内存就要溢出了,呵呵,memory overflow大家肯定都见过,都是从那时候过来的,呵呵。

代码中的递归:

核心代码

复制代码
   static void GetFiles(List<string> arr, string dir)        {            arr.AddRange(Directory.GetFiles(dir));            var subDir = Directory.GetDirectories(dir).ToList();            if (subDir != null && subDir.Count > 0)                subDir.ForEach(j =>                {                    GetFiles(arr, j);                });        }
复制代码

程序入口

复制代码
  static void Main(string[] args)        {            string path = "F:\\softmare\\Fiddler2汉化";            var obj = FileSync(path);            using (System.IO.StreamWriter srFile = new System.IO.StreamWriter(path + "\\filelist.txt"))            {                obj.ForEach(i =>                {                    srFile.WriteLine(i);                });            }            Console.WriteLine("填充完成");            Console.ReadKey();        }
复制代码

结果如图:

 

让程序代码变得更有艺术感吧!

  相关解决方案