计算目录下指定类型文件(.cs, .java)的个数、每个文件的总行数、空行数、注释行数、代码行数
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
public static int allLine=0;//总代码
public static int blankLine=0;//空白行
public static int commentLine=0;//注释行
public static int codeLine=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(@"//"))) //代码行
{
codeLine++;
}
else if (line.Trim().StartsWith(@"//") || line.Trim().StartsWith(@"///")) //注释行
{
commentLine++;
}
else //空白行
{
blankLine++;
}
line = reader.ReadLine();
}
reader.Close();
}
static void Main(string[] args)
{
Console.WriteLine("请输入文件路径:");
String path = Console.ReadLine();
CountLine(path);
Console.WriteLine("总行数为{0}",blankLine + commentLine + codeLine);
Console.WriteLine("空行数为{0}",blankLine);
Console.WriteLine("注释行数为{0}",commentLine);
Console.WriteLine("代码行数为{0}",codeLine);
Console.WriteLine("请输入任意键退出");
Console.ReadKey();
}
}
}