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