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

Классы DirectoryInfo и FileInfo


В отличие от обобщенных классов Directory и Filе классы Directory Info и FileInfо инкапсулируют конкретные (или потенциально существующие) каталоги и файлы. Чтобы использовать их, необходимо предварительно создать экземпляр класса. Под потенциальным существованием мы имеем в виду, что объект Di rectorylnfo или Fi lelnfo может быть создан даже в том случае, если файл или каталог с заданным именем еще не существует и создается при последующем вызове метода 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



Содержание раздела