Introduction:
This article will explain the DirectoryInfo class
and its use. The System.IO namespace is one of the most significant namespaces
used for working with Directory in the .Net Framework. Let us see about the
class.
DirectoryInfo
Class
The DirectoryInfo class shares almost all of
the same properties as the FileInfo class, except that they operate on
directories not files. The DirectoryInfo class does not have
static methods and can only be used on instantiated objects. The DirectoryInfo
object represents a physical directory on a disk. It also provides instance
methods for the delete,
create new directory and sub directories.
When we use DirectoryInfo class
If you are going to reuse an object several
times, consider using the instance method of DirectoryInfo instead of the
corresponding static methods of the Directory class.
Some of the most useful methods of the
DirectoryInfo class are:
| S.No | Methods | Description |
| 1 | Create | This method is used to create the new directory. |
| 2 | CreateSubdirectory | This method is used to create a subdirectory or subdirectories on the specified path. |
| 3 | MoveTo | Moves a DirectoryInfo instance and its contents to a new path. |
| 4 | Delete | Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files. |
| 5 | GetDirectories | This method is used to get the sub directories in the given directory path. |
| 6 | GetFiles | The GetFiles method is used to get the files in the specified folder. |
Figure1 DirectoryInfo Methods
Now Let us see the some of the methods in
the DirectoryInfo class.
Create Method
This method is used to create the new directory.
| Dim path As [String] = "D:\MyTestFile1.txt" Dim fl As New DirectoryInfo(path) fl.Create() If True Then Console.WriteLine("Directory has been created") End If |
CreateSubDirectory Method
This method is used to create a subdirectory or subdirectories on the specified
path.
| Dim path As [String] = "D:\MyTestFile1.txt" Dim fl As New DirectoryInfo(path) Dim dis As DirectoryInfo = fl.CreateSubdirectory("hellotest") If True Then Console.WriteLine("SubDirectory has been created") End If |
MoveTo Method
Moves a DirectoryInfo instance and its contents to a new path.
| Dim path As [String] = "D:\MyTestFile1.txt" Dim path1 As String = "D:\NewFile1.txt" Dim f1 As New DirectoryInfo(path) Dim f2 As New DirectoryInfo(path1) f1.MoveTo(path1) If True Then Console.WriteLine("Directory has been Moved") End If |
Delete Method
Deletes this instance of a DirectoryInfo, specifying whether to delete subdirectories and files.
| Dim path As String = "D:\NewFile1.txt" Dim f1 As New DirectoryInfo(path) f1.Delete() If True Then Console.WriteLine("Directory has been deleted") End If |
GetDirectories Method
This method is used to get the sub directories in the given directory path or, Returns the
subdirectories of the current directory.
| Try Dim di As New DirectoryInfo("D:\newFile\") Dim dir1 As DirectoryInfo() = di.GetDirectories() Console.WriteLine("The number of directories containing is {0}.", dir1.Length) Catch e As Exception Console.WriteLine("The process failed: {0}", e.ToString()) End Try |
GetFiles
The GetFiles method is used to get the files in
the specified folder.
| Dim di As New DirectoryInfo("D:\newfile") Dim dirs As DirectoryInfo() = di.GetDirectories() For Each diNext As DirectoryInfo In dirs Console.WriteLine("The number of files in {0} is {1}", diNext, diNext.GetFiles().Length) Next |
Example
Imports
System.IO
Module Module1
Sub
Main()
'Create(Method)
Dim
path As [String]
= "D:\MyTestFile1.txt"
Dim
fl As New DirectoryInfo(path)
fl.Create()
If True Then
Console.WriteLine("Directory has been
created")
End If
'CreateSubdirectory(Method)
Dim
path As [String]
= "D:\MyTestFile1.txt"
Dim
fl As New DirectoryInfo(path)
Dim
dis As DirectoryInfo
= fl.CreateSubdirectory("hellotest")
If True Then
Console.WriteLine("SubDirectory has been
created")
End If
'MoveTo(Method)
Dim
path As [String]
= "D:\MyTestFile1.txt"
Dim
path1 As String
= "D:\NewFile1.txt"
Dim
f1 As New DirectoryInfo(path)
Dim
f2 As New DirectoryInfo(path1)
f1.MoveTo(path1)
If True Then
Console.WriteLine("Directory has been Moved")
End If
'
Delete(Method)
Dim
path As String =
"D:\NewFile1.txt"
Dim
f1 As New DirectoryInfo(path)
f1.Delete()
If True Then
Console.WriteLine("Directory has been
deleted")
End If
'GetDirectories(method)
Try
Dim
di As New DirectoryInfo("D:\newFile\")
Dim
dir1 As
DirectoryInfo() = di.GetDirectories()
Console.WriteLine("The number of directories
containing is {0}.", dir1.Length)
Catch
e As Exception
Console.WriteLine("The process failed: {0}",
e.ToString())
End Try
'GetFiles(method)
Dim
di As New DirectoryInfo("D:\newfile")
Dim
dirs As
DirectoryInfo() = di.GetDirectories()
For Each diNext As DirectoryInfo In
dirs
Console.WriteLine("The number of files in {0}
is {1}", diNext, diNext.GetFiles().Length)
Next
End Sub
End Module
The DirectoryInfo class provides the following properties that enable you to
retrieve information about a directory.
| S.No | Property | Description |
| 1 | CreationTime | This property returns the creation of the directory date and time. |
| 2 | Exists | It returns whether the directory exists or not as Boolean result. |
| 3 | FullName | It returns the full name of the file from the root directory. |
| 4 | Name | It returns the name of the directory |
| 5 | LastAccessTime | It returns the date and time of the last access time |
| 6 | LastWriteTime | It returns the last file saving date and time |
| 7 | Root | Gets the root portion of a path. |
Figure 2 DirectoryInfo Properties
Property - Example
| Imports System.IO Module Module1 Sub Main() Dim fi As New DirectoryInfo("D:\newfile") Console.WriteLine("Directory name is {0} ", fi.Name) Console.WriteLine("Directory creation time is {0} ", fi.CreationTime.ToLongTimeString()) Console.WriteLine("Directory Lastaccesstime is {0} ", fi.LastAccessTime.ToLongDateString()) Console.WriteLine("Directory exist is: ", fi.Exists) Console.WriteLine("Directory LastWriteTime is {0} ", fi.LastWriteTime) Console.WriteLine("Directory root is {0} ", fi.Root) End Sub End Module |
Conclusion:
The DirectoryInfo class is very useful for working
with directories. If there is any mistake in this article then please notify me.
I expect your valuable comments and feedback about this article.