统计项目源代码文件的行数

namespace FileAndFolderList
... {
usingSystem;
usingSystem.Collections;
usingSystem.IO;
usingSystem.Windows.Forms;

internalclassFileAndFolderList
...{
//Methods
publicFileAndFolderList()
...{
this.fileList=newArrayList();
this.lineCountList=newArrayList();
this.sum=0;
}


privatevoidCount()
...{
intnum1=0;
IEnumeratorenumerator1
=this.fileList.GetEnumerator();
while(enumerator1.MoveNext())
...{
num1
=this.CountFileLines(enumerator1.Current.ToString());
this.sum+=num1;
this.lineCountList.Add(num1);
}

}


privateintCountFileLines(stringsourceFilePath)
...{
stringtext1;
intnum1=0;
StreamReaderreader1
=newStreamReader(sourceFilePath);
while((text1=reader1.ReadLine())!=null)
...{
if(text1.Trim()=="")
...{
continue;
}

num1
++;
}

returnnum1;
}


privatestaticvoidDeleteErrLogFile()
...{
stringtext1=Application.StartupPath+@"ErrorLog.Text";
if(File.Exists(text1))
...{
File.Delete(text1);
}

}


privatevoidEnumerate(DirectoryInfodiStart,ArrayListarrfileExtension)
...{
try
...{
FileSystemInfo[]infoArray1
=diStart.GetFileSystemInfos();
for(intnum1=0;num1<infoArray1.Length;num1++)
...{
FileSystemInfoinfo1
=infoArray1[num1];
if(info1.GetType()==typeof(DirectoryInfo))
...{
this.Enumerate((DirectoryInfo)info1,arrfileExtension);
}

if(info1.GetType()==typeof(FileInfo))
...{
IEnumeratorenumerator1
=arrfileExtension.GetEnumerator();
while(enumerator1.MoveNext())
...{
if(info1.Extension.ToLower()!=enumerator1.Current.ToString().ToLower())
...{
continue;
}

this.fileList.Add(info1.FullName);
}

}

}

}

catch(Exceptionexception1)
...{
FileAndFolderList.WriteErrLog(exception1.Message);
}

}


[STAThread]
privatestaticvoidMain(string[]args)
...{
//放置工程源代码的路径
DirectoryInfoinfo1=newDirectoryInfo(Directory.GetParent(Directory.GetParent(Application.StartupPath).FullName).FullName);
FileAndFolderListlist1
=newFileAndFolderList();
ArrayListlist2
=newArrayList();
//项目文件后缀名
list2.Add(".cs");
list1.Enumerate(info1,list2);
Console.WriteLine(
"GetFileListOK!");
Console.WriteLine(
"TotaltargetFiles="+list1.fileList.Count.ToString());
Console.WriteLine(
"Waitingforcounting...nnn");
list1.Count();
FileAndFolderList.PrintValues(list1.fileList);
FileAndFolderList.PrintValues(list1.lineCountList);
Console.WriteLine(
"n");
Console.WriteLine(
"GetsLineCountOK!");
Console.WriteLine(
"TotallinesCount="+list1.sum.ToString());
Console.WriteLine(
"Pressentertoexit!");
Console.ReadLine();
}


publicstaticvoidPrintValues(IEnumerablemyList)
...{
IEnumeratorenumerator1
=myList.GetEnumerator();
while(enumerator1.MoveNext())
...{
Console.Write(
"t{0}",enumerator1.Current);
}

}


privatestaticvoidWriteErrLog(stringmsg)
...{
stringtext1=Application.StartupPath+@"ErrorLog.Text";
StreamWriterwriter1
=newStreamWriter(text1,true);
writer1.WriteLine(DateTime.Now.ToLongDateString()
+"t"+msg);
writer1.Close();
}



//Fields
privateArrayListfileList;
privateArrayListlineCountList;
privateintsum;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值