C# 统计指定文件夹下的文件

2023-11-30 19:26:25 浏览数 (1)

C# 统计指定文件夹下的文件

需要:统计某一指定文件夹下的文件数目和文件的全路径
示例代码:
代码语言:javascript复制
        /// <summary>
        /// 统计文件夹内的文件
        /// </summary>
        /// <param name="path">指定的文件夹路径</param>
        /// <returns></returns>
        private static long GetFloderFileCount(string path, out List<string> fileList)
        {
            // 获取指定文件夹下的文件数组和目录数组
            string[] files = Directory.GetDirectories(path).Concat(Directory.GetFiles(path)).ToArray();
            // 文件数目
            long fileCount = 0;
            // 文件路径数组
            var fileListTmp = new List<string>();
            // 简单的递归遍历
            void backTrack(string[] filelist)
            {
                // 遍历数组
                foreach (var item in filelist)
                {
                    // 文件则 添加
                    if (File.Exists(item))
                    {
                        fileCount  = 1;
                        fileListTmp.Add(item);
                    }
                    // 目录则进入下一层递归
                    else if (Directory.Exists(item))
                    {
                        backTrack(Directory.GetFiles(item).Concat(Directory.GetDirectories(item)).ToArray());
                    }
                }
            }
            backTrack(files);
            fileList = fileListTmp;
            return fileCount;
        }

0 人点赞