@H_404_2@
在实际的运用中,我们有时要求能获得一个目录下的所有文件列表,包括子目录下的文件。@H_404_2@@H_404_2@@H_404_2@
在VB2005@H_404_2@中有函数My.Computer.FileSystem.GetFiles(Path)@H_404_2@。其效用是获得目录下所有文件列表,但是不包括子目录下的文件。My.Computer.FileSystem.GetDirectories(Path)@H_404_2@这个函数效用是获得目录下的一级子目录的列表,不包含子目录下的目录列表。@H_404_2@@H_404_2@@H_404_2@@H_404_2@
将这两个函数灵活运用,就能达到标题所要求的@H_404_2@效果。现将代码赋予其后。@H_404_2@@H_404_2@@H_404_2@
函数:@H_404_2@GetAllFile@H_404_2@@H_404_2@@H_404_2@
作用:获得制定目录下的文件列表,包括子目录下的文件@H_404_2@@H_404_2@@H_404_2@
参数:Path@H_404_2@;制定的目录名@H_404_2@@H_404_2@@H_404_2@
返回值:字符串数组,目录列表@H_404_2@@H_404_2@@H_404_2@
@H_404_2@
Public@H_404_2@ Shared@H_404_2@ Function@H_404_2@ GetAllFile(ByVal@H_404_2@ Path As@H_404_2@ String@H_404_2@) As@H_404_2@ String@H_404_2@()@H_404_2@
@H_404_2@Dim@H_404_2@ tS() As@H_404_2@ String@H_404_2@@H_404_2@
@H_404_2@@H_404_2@Dim@H_404_2@ tC As@H_404_2@ Collections.ObjectModel.ReadOnlyCollection(Of@H_404_2@ String@H_404_2@) _@H_404_2@
= My@H_404_2@.Computer.FileSystem.GetFiles(Path)@H_404_2@
@H_404_2@@H_404_2@ReDim@H_404_2@ tS(tC.Count - 1)@H_404_2@
@H_404_2@tC.CopyTo(tS,0)@H_404_2@
@H_404_2@
@H_404_2@Dim@H_404_2@ tS1() As@H_404_2@ String@H_404_2@@H_404_2@
tP As@H_404_2@ String@H_404_2@@H_404_2@
j As@H_404_2@ Integer@H_404_2@@H_404_2@
For@H_404_2@ Each@H_404_2@ tP In@H_404_2@ My@H_404_2@.Computer.FileSystem.GetDirectories(Path)@H_404_2@
@H_404_2@tS1 = GetAllFile(tP)@H_404_2@
@H_404_2@@H_404_2@If@H_404_2@ tS1.Length > 0 Then@H_404_2@@H_404_2@
@H_404_2@@H_404_2@If@H_404_2@ tS.Length = 0 Then@H_404_2@@H_404_2@
@H_404_2@@H_404_2@ReDim@H_404_2@ tS(tS1.GetUpperBound(0))@H_404_2@
@H_404_2@@H_404_2@tS1.CopyTo(tS,"sans-serif"; mso-fareast-font-family: 新宋体; mso-font-kerning: 0pt; mso-no-proof: yes;" lang="EN-US"> @H_404_2@@H_404_2@Else@H_404_2@@H_404_2@
@H_404_2@@H_404_2@j = tS.GetUpperBound(0)@H_404_2@
@H_404_2@@H_404_2@ReDim@H_404_2@ Preserve@H_404_2@ tS(j + tS1.Length)@H_404_2@
404_2@
@H_404_2@@H_404_2@End@H_404_2@ If@H_404_2@@H_404_2@
@H_404_2@Next@H_404_2@@H_404_2@