2013-04-07 2 views
2

Я делаю список папок, где каждая папка нуждается только в нескольких свойствах, поэтому я использую класс ниже. Однако, независимо от папки, свойство 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

взгляните на это http://stackoverflow.com/a/2242573/1954916 – Belial09

+1

@ Belial09: Как эта ссылка отличается от того, что ОП уже пробовал? –

+1

Вы посмотрели, какие файлы возвращают перечисление GetFiles? –

ответ

7

Таким образом, проблема заключается в том, что FilesInFolder = dir.GetFiles().Count считал скрытые файлы. Несмотря на то, что я установил параметры папки Windows для отображения скрытых файлов/папок, они не отображались, поскольку они были такими, как обложки альбомов. Следующая строка отсортировала мою проблему.

FilesInFolder = Directory.GetFiles(FullName, "*.mp3").Count 

Мне интересно, если есть способ подсчитать более одного типа файлов? I.e MP3 и WMA? Если кто-нибудь узнает, я бы попробовал комментарий.

+0

Посмотрите http://stackoverflow.com/ вопросы/7039580/multiple-file-extensions-searchpattern-for-system-io-directory-getfiles –

+0

Cheers @Garath, посмотрит. –

+2

Ты владеешь мной пивом;) –

1

Проверьте, нет ли у вас скрытых файлов в проверенных каталогах. Я проверяю ваш код на своем ПК, и он работает хорошо.

+0

Пока вы на нем, что произойдет, если вы установите скрытый атрибут в файл? – Steve

+0

Нет скрытых файлов в любом из каталогов, которые я тестировал. Благодарю. –

+0

Нечетный - даже если скрытые файлы настроены на показ, есть, по-видимому, 5 файлов в каждой из моих музыкальных папок (обложки альбомов и т. Д.), Которые не отображаются ... –