C# DirectoryInfo Class
Being a part of the System.IO namespace, the DirectoryInfo class in C# facilitates various constructors, methods, and properties to perform operations related to directory and subdirectory, i.e., to create, delete and move a directory or subdirectory. The DirectoryInfo class in C# cannot be inherited, because it is a sealed class.
C# DirectoryInfo Syntax:
- [SerializableAttribute]
- [ComVisibleAttribute(true)]
- public sealed class DirectoryInfo : FileSystemInfo
C# DirectoryInfo Constructors:
Constructor | Uses |
DirectoryInfo(String) | For initializing a new instance of the DirectoryInfo class on the specified path. |
C# DirectoryInfo Properties:
Property | Uses |
Attributes | To retrieve or to set the attributes for the current file or directory. |
CreationTime | To retrieve or to set the creation time of the current file or directory. |
CreationTimeUtc | To retrieve or to set the creation time, in coordinated universal time (UTC). |
Exists | To retrieve a value determining whether the directory exists. |
Extension | To retrieve the string representing the extension part of the file. |
FullName | To retrieve the full path of the directory. |
LastAccessTime | To retrieve or to set the time the current file or directory was last accessed. |
LastAccessTimeUtc | To retrieve or to set the time, in coordinated universal time (UTC) when the current file or directory was last accessed. |
LastWriteTime | To retrieve or to set the time when the current file or directory was last written. |
LastWriteTimeUtc | To retrieve or to set the time, in coordinated universal time (UTC), when the current file or directory was last written. |
Name | To retrieve the name of this DirectoryInfo instance. |
Parent | To retrieve the parent directory of a specified subdirectory. |
Root | To retrieve the root portion of the directory. |
C# DirectoryInfo Methods:
Method | Uses |
Create() | For creating a directory. |
Create(DirectorySecurity) | For creating a directory using a DirectorySecurity object. |
CreateObjRef(Type) | For creating an object to include all the relevant information which is needed to generate a proxy to communicate with a remote object. |
CreateSubdirectory(String) | For creating a subdirectory or subdirectories on the specified path. |
CreateSubdirectory(String,DirectorySecurity) | For creating a subdirectory or subdirectories on the specified path with the specified security. |
Delete() | For eliminating this DirectoryInfo if it is empty. |
Delete(Boolean) | For eliminating this instance of a DirectoryInfo, determining whether to delete subdirectories and files. |
EnumerateDirectories() | For retrieving an enumerable collection of directory information in the current directory. |
EnumerateFiles() | For retrieving an enumerable collection of file information in the current directory. |
GetAccessControl() | For retrieving a DirectorySecurity object to encapsulate the access control list (ACL) entries for the directory. |
GetDirectories() | For retrieving the subdirectories of the current directory. |
GetFiles() | For retrieving a file list from the current directory. |
GetType() | For retrieving the Type of the current instance. |
MoveTo(String) | For relocating a DirectoryInfo instance and its contents to a new path. |
Refresh() | To refresh the state of the object. |
SetAccessControl(DirectorySecurity) | To set the access control list (ACL) entries defined by a DirectorySecurity object. |
ToString() | To retrieve the original path, passed by the user. |
Example:
using System; using System.IO; namespace Example { class Content { static void Main(string[] args) { // Provide directory name with complete location. DirectoryInfo dir = new DirectoryInfo(@"D:\csharp"); try { // Check, directory exist or not. if (dir.Exists) { Console.WriteLine("Already Existing Directory.."); return; } // Creating a new directory. dir.Create(); Console.WriteLine("Success!!"); } catch (Exception e) { Console.WriteLine("Failure: {0}", e.ToString()); } } } } |
Output:
Explanation:
In the above example, we are using the C# DirectoryInfo Class for creating a directory. Here, we are creating a “Program” directory. The directory path needs to be specified for this.
Example:
using System; using System.IO; namespace Example { class Content { static void Main(string[] args) { // Providing directory name with complete location. DirectoryInfo dir = new DirectoryInfo(@"D:\csharp"); try { // Deleting directory dir.Delete(); Console.WriteLine("Deleted successfully!!"); } catch (Exception e) { Console.WriteLine("Failure: {0}", e.ToString()); } } } } |
Output:
Explanation:
In the above example, we are using the C# DirectoryInfo Class for deleting an already created directory. In case, the specified directory is not present at the specified location, a System.IO.DirectoryNotFoundException exception will be displayed.