Иллюстрированный самоучитель по Visual Basic .NET

Классы DirectoryInfo и FileInfo

В отличие от обобщенных классов Directory и Filе классы DirectoryInfo и FileInfо инкапсулируют конкретные (или потенциально существующие) каталоги и файлы. Чтобы использовать их, необходимо предварительно создать экземпляр класса. Под потенциальным существованием мы имеем в виду, что объект Directorylnfo или Filelnfo может быть создан даже в том случае, если файл или каталог с заданным именем еще не существует и создается при последующем вызове метода Create.

Как правило, при создании экземпляров этих классов при вызове конструктора указывается имя каталога или файла. Пример:

Dim myDirectory As Directorylnfo
myDirectory = New Directorylnfo("C:\Test Directory")

Текущий каталог обозначается символом ".":

Dim currentDir As New Directorylnfo(".")

После создания объекта Directorylnfo можно запросить различные сведения о соответствующем каталоге – например, время создания:

MsgBox(myDirectory.GreatienTime)

Как упоминалось выше, одна из самых замечательных особенностей этих классов заключается в том, что их члены возвращают объекты, а не строки. Например, в следующей программе вызов GetFiles в выделенной строке возвращает коллекцию объектов Filelnfo, что позволяет при необходимости вызвать методы этих объектов.

Imports System.IO
Module Modulel Sub Main()
Dim myDi rectory As Directorylnfo Try
myDirectory =New DirectoryInfo("C:\Test Directory")
Dim aFile As File Info
For Each aFile In myDirectory.GetFiles
Consol e. WriteLi ne("The fi1e named " & aFile. Full Name & _
"has length " & aFile.Length) Next Catch e As Exception
MsgBox("eeks – an exception " & e.StackTrace) Finally
Console.WriteLine("Press enter to end")
Console.ReadLine()
End Try
End Sub
End Module
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.