C#源代码统计程序

来源:互联网 发布:淘宝亲子装商城 编辑:程序博客网 时间:2024/05/16 08:42

要求:从命令行输入一个参数(指定目录或文件),输出该目录下指定类型文件(.cs, .java)的个数、每个文件的总行数、空行数、注释行数、代码行数。

using System;
using System.IO;


namespace ConsoleApplication1
{
    #region
    class Program
    {
        static int cLine = 0;
        static int nLine = 0;
        static int sLine = 0;
        static void  CountLine(string file)
        {
            FileStream stream = new FileStream(file, FileMode.Open);
            StreamReader reader = new StreamReader(stream);
            string line = reader.ReadLine();
            while (line != null)
            {
                if (line.Trim() != "" && !(line.Trim().StartsWith(@"//")))
                {
                    cLine++;
                }
                else if (line.Trim().StartsWith(@"//"))
                {
                    sLine++;
                }
                else
                {
                    nLine++;
                }


                line = reader.ReadLine();
            }
            reader.Close();
        }
        static void DirectoryCountLine(string directory)
        {
            foreach (string file in Directory.GetFiles(directory, "*.cs"))
            {
                CountLine(file);
            }
        }
        static void Main(string[] args)
        {
            Console.Write("请输入要查询的目录地址:");
            string dir = Console.ReadLine();
            DirectoryCountLine(dir);
            Console.WriteLine("该目录下的cs文件的代码行的行数为{0}", cLine);
            Console.WriteLine("该目录下的cs文件的注释行的行数为{0}", nLine);
            Console.WriteLine("该目录下的cs文件的空白行的行数为{0}", sLine);
            Console.WriteLine("该目录下的cs文件总的代码行的行数为{0}", cLine + nLine + sLine);


            Console.Read();
        }
    }
    #endregion
}

运行结果如图:



0 0
原创粉丝点击