获取文件路径的方法及其中的文件数

时间:2016-11-20 18:09:39

标签: c# visual-studio-2013

我是C#的新手,我需要帮助才能将方法添加到一个非常好的编译程序中。

我有以下代码:

class Program
    {
        private static readonly ILog log =
            LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
        static void Main(string[] args)
        {
            var startTimeOfApplication = DateTime.Now;
            Helper.SetFileAppenderLogFile();
            Console.WriteLine("Started executing the MPL File processor at :: " + startTimeOfApplication);
            log.Info("Started exection at :: " + DateTime.Now);
            var filesPath = string.Empty;
            if (args.Length > 0)
            {
                filesPath = args[0];
            }
            else
            {
                filesPath = ConfigurationManager.AppSettings["mplFilesPath"].ToString();
            }
            log.Info("MPL Files Path " + filesPath);
            var mplFilesProcessor = new MPLFilesProcessor();
            mplFilesProcessor.ProcessMPLFiles(filesPath);

            var endTimeOfApplication = DateTime.Now;
            Console.WriteLine("Completed MPL Files Processor exection at :: " + endTimeOfApplication);
            log.Info("Completed MPL Files Processor exection at :: " + endTimeOfApplication);
            log.Info(string.Format("Total time taken to process is {0} minutes ", endTimeOfApplication.Subtract(startTimeOfApplication).TotalMinutes));
        }

我将路径保存到String变量,我希望获得路径并计算其中的文件数

请协助我如何编写该方法?

感谢帮助!

3 个答案:

答案 0 :(得分:1)

如果您只想获取目录中的文件数,可以这样做:

int numberOfFiles = Directory.GetFiles(path).Count();

如果要获取该目录(包括其他目录)中的所有文件系统条目:

int numberOfFiles = Directory.GetFileSystemEntries(path).Count();

答案 1 :(得分:0)

最简单的方法是简单地调用Directory.GetFiles()并获取Length属性。

var path = @"C:\Windows";
var fileCount = Directory.GetFiles(path).Length;
Console.WriteLine("{0} has {1} files in it", path, fileCount);

答案 2 :(得分:0)

您可以使用它导航到目录路径并获取文件计数。

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(@"C:\somedir");
int count = dir.GetFiles().Length;