C# 递归方式获取某路径下的txt文件及大小

白板编程写到这道题,思路是没错但是方法名字没记住,写代码习惯性都是都是vs点出来的,特地来电脑写一下

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace FileIO
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = @"D:\程序编程文档\02C#.NET\11IO\操作IO\FileIO\测试使用的";
            GetTxtFiles(path);
            Console.WriteLine("总数为:{0}", dicts.Count);
            foreach (var key in dicts.Keys)
            {
                Console.WriteLine("当前的key:{0},值:{1}", key, dicts[key]);
            }
            Console.ReadKey();
        }
        static Dictionary<string, long> dicts = new Dictionary<string, long>();

        static void GetTxtFiles(string filePath)
        {
            if (!Directory.Exists(filePath))
            {
                return;
            }
            //创建一个DirectoryInfo的类
            DirectoryInfo directoryInfo = new DirectoryInfo(filePath);
            //获取当前的目录的文件
            FileInfo[] fileInfos = directoryInfo.GetFiles();
            foreach (FileInfo info in fileInfos)
            {
                //获取文件的名称(包括扩展名)
                string fullName = info.FullName;
                //获取文件的扩展名
                string extension = info.Extension.ToLower();
                if (extension == ".txt")
                {
                    //获取文件的大小
                    long length = info.Length;
                    dicts.Add(fullName, length);
                }
            }
            //获取当前目录下的所有子目录
            DirectoryInfo[] directoryInfos = directoryInfo.GetDirectories();
            foreach (DirectoryInfo info in directoryInfos)
            {
                //获取当前子目录的路径
                string path = info.FullName;
                //递归调用
                GetTxtFiles(path);
            }
        }
    }
}

目录文件是这样子的

C# 递归方式获取某路径下的txt文件及大小

测试结果

C# 递归方式获取某路径下的txt文件及大小