我正在制作文件夹列表,其中每个文件夹只需要几个属性,所以我使用下面的类。但是,无论文件夹如何,FilesInFolder
属性总是比文件夹中的实际文件数多5个。
有人可以帮我找出问题所在吗?感谢。
Public Class Single_Action_Folder
Public ReadOnly FullName As String = ""
Public ReadOnly Name As String = ""
Public ReadOnly FilesInFolder As Integer = 0
Public ReadOnly Exists As Boolean = False
'**
' Constructor
'*
Public Sub New(Optional dir As DirectoryInfo = Nothing)
' First check that a directory has been specified
If dir Is Nothing Then Exit Sub
' Populate the class properties
FullName = dir.FullName
Name = dir.Name
FilesInFolder = dir.GetFiles().Count
Exists = dir.Exists
End Sub
End Class
答案 0 :(得分:8)
所以这里的问题是FilesInFolder = dir.GetFiles().Count
正在计算隐藏文件。即使我设置了Windows文件夹选项来显示隐藏文件/文件夹,它们也没有显示,因为它们就像专辑艺术。以下一行对我的问题进行了排序。
FilesInFolder = Directory.GetFiles(FullName, "*.mp3").Count
我想知道,如果有办法计算多个文件类型?即MP3和WMA?如果有人碰巧知道,我会发表评论。
答案 1 :(得分:1)
检查测试目录中是否没有隐藏文件。我在我的电脑上检查你的代码并且它运行良好。
答案 2 :(得分:0)
使用此代码:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim FilesInFolder = Directory.GetFiles("C:\BGS\TemporaryProjects\Images\", "*.mp3").Count
Dim i As Integer = 1
While i <= FilesInFolder
ListBox1.Items.Add(i)
i += 1
End While
End Sub