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;
}
}
... {
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;
}
}