1.关于本文
本文中实现了两个函数:统计一个文件夹中所有符合扩展名规则的文件文字行数;统计一个文件中的文字行数
'''<summary> '''统计一个文件夹中所有符合扩展名规则的文件文字行数 '''</summary> '''<paramname="folder">文件夹地址</param> '''<paramname="extensions">扩展名,如过有多个则中间用逗号隔开</param> '''<paramname="countBlankLine">true:空行计算在内false:空行不计算在内</param> '''<returns>文字行数统计</returns> '''<remarks></remarks> PublicFunctionCheckFolder(ByValfolderAsString,_ OptionalByValextensionsAsString="",_ OptionalByValcountBlankLineAsBoolean=False)AsInteger '行数统计 DimlinesAsInteger=0 '全部需要统计行数的扩展名 DimarrayExts()AsString=extensions.Split(",") '文件信息 DimdifAsNewSystem.IO.DirectoryInfo(folder) '遍历各个子文件夹 ForEachdiAsIO.DirectoryInfoIndif.GetDirectories lines+=CheckFolder(di.FullName,extensions,countBlankLine) Next '输出本目录下所有文件 ForEachfAsSystem.IO.FileInfoIndif.GetFiles '扩展名部分未填,则统计所有文件,如果填写则 IfString.IsNullOrWhiteSpace(extensions)Then lines+=CheckFile(f.FullName,countBlankLine) ContinueFor Else ForEachextInarrayExts Iff.Extension="."+extThen lines+=CheckFile(f.FullName,countBlankLine) EndIf Next EndIf Next Returnlines EndFunction '''<summary> '''统计一个文件中的文字行数 '''</summary> '''<paramname="file">文件地址</param> '''<paramname="countBlankLine">true:空行计算在内false:空行不计算在内</param> '''<returns>文字行数(不含空行)</returns> '''<remarks></remarks> PublicFunctionCheckFile(ByValfileAsString,_ OptionalByValcountBlankLineAsBoolean=False)AsInteger Console.WriteLine("fileaddress:"+file) '将文件内容读取到字符串 DimsrAsIO.StreamReader DimsAsString sr=IO.File.OpenText(file) s=sr.ReadToEnd sr.Close() '统计文件中的全部行数 Dimtemp()AsString=s.Split(vbCrLf) DimlinesAsInteger=temp.Length '如果不计算空行,则减去空行的数目 IfcountBlankLine=FalseThen ForiAsInteger=0Totemp.Length-1 IfString.IsNullOrWhiteSpace(temp(i))Then lines-=1 EndIf Next EndIf Console.WriteLine("lines:"+lines.ToString()) Console.WriteLine("======================") Returnlines EndFunction
DimaddressAsString="E:\TestProgram\ChineseFlag"'目录名称 Console.WriteLine("Totallines:"+CheckFolder(address,"cs,xml,txt").ToString())
4.运行结果
原文链接:https://www.f2er.com/vb/257994.html