Imports System.IO
Public Class Cls_file
''' <summary>
''' 定义文件名列表
''' </summary>
Private Shared ReadOnly F_List As New List(Of FileInfo)
''' <summary>
''' 获取指路径文件名(含子目录)
''' </summary>
''' <param name="Path">文件夹路径</param>
''' <param name="EXT">文件扩展名</param>
''' <returns></returns>
Public Shared Function Get_AllFlist(ByVal Path As String, ByVal EXT As String) As List(Of FileInfo)
Try
If Not String.IsNullOrWhiteSpace(Path) Then '判断文件夹路径是null或者是空
If Directory.Exists(Path) Then '判断文件夹是否存在,不存在则创建一个
Get_File_ALL(Path, EXT) '获取所有文件列表
Else
Directory.CreateDirectory(Path) '创建一个文件夹
End If
Else
MsgBox("文件路径为空!", MsgBoxStyle.Critical, "警告")
End If
Return F_List '返回文件列表
Catch ex As Exception
Return Nothing
MsgBox("错误:" & ex.Message, MsgBoxStyle.Critical, "警告")
End Try
End Function
''' <summary>
''' 获取指路径文件名(含子目录)
''' </summary>
''' <param name="Path">文件夹路径</param>
''' <param name="EXT">文件扩展名(.txt)(.pdf)(.xls)等</param>
Private Shared Sub Get_File_ALL(ByVal Path As String, ByVal EXT As String)
Try
Dim Sub_Dir As String() = Directory.GetDirectories(Path) '获取子目录路径
Dim P_File_INFO As New DirectoryInfo(Path)
Dim F_File As FileInfo() = P_File_INFO.GetFiles() '获取父目录文件信息
If F_File.Length <> 0 OrElse Sub_Dir.Length <> 0 Then
For Each Flist As FileInfo In F_File ''获取父目录文件名
If EXT.ToLower = Flist.Extension.ToLower Then '取指定格式文件名
F_List.Add(Flist) ''文件名保存到文件名列表
End If
Next
For Each Sub_Flist As String In Sub_Dir '获取子目录文件路径
Get_File_ALL(Sub_Flist, EXT) '复用获取子目录中的文件名
Next
End If
Catch ex As Exception
MsgBox("错误:" & ex.Message, MsgBoxStyle.Critical, "警告")
End Try
End Sub
End Class
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.Desktop
FolderBrowserDialog1.ShowNewFolderButton = True
Dim f_ls As New List(Of IO.FileInfo)
If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
f_ls = Cls_file.Get_AllFlist(FolderBrowserDialog1.SelectedPath, ".mp4")
End If
Dim t As New Text.StringBuilder
For Each x In f_ls
t.Append(x.ToString).Append(vbCrLf)
Next
RichTextBox1.Text = t.ToString
End Sub
End Class
今天教程到此结束啦!