C# DirectoryInfo Class

In C#, DirectoryInfo Class is a part of System.IO namespace and it provides properties and methods to perform various operations on directory and subdirectory such as to create, delete and move directory. It cannot be inherited.

C# DirectoryInfo Properties

The following tables list the properties provided by DirectoryInfo class.

PropertyDescription
CreationTimeIt is used to get or set the creation time of the current file or directory.
ExistsThis property provides a value indicating whether the directory exists or not.
ExtensionIt is used to get the extension part of the file.
NameIt is used to get the name of this DirectoryInfo instance.
FullNameThis property provides the full path of a directory.
LastAccessTimeIt is used to gets or sets the time the current file or directory was last accessed.
ParentIt is useful to get the parent directory of a specified subdirectory.

C# DirectoryInfo Methods

MethodDescription
Create()It creates a directory.
Delete()It deletes the specified directory.
EnumerateDirectories()It returns an enumerable collection of directory information in the current directory.
GetDirectories()Returns the subdirectories of the current directory.
GetFiles()Returns the file list from the current directory.
MoveTo()It moves a specified directory and its contents to a new path.
ToString()It returns the original path that was passed by the user.

Example: C# program for DirectoryInfo Class

The program is used to create a directory in C#.

using System;
using System.IO;

namespace FileExample
{
  class Program
  {
    static void Main(string[] args)
    {

      string fLoc = "Sample";
      DirectoryInfo dir = new DirectoryInfo(fLoc);

      // checking for its existence
      if (dir.Exists)
      {
        Console.WriteLine("The Directory already exists.");
      }
      else
      {
       	// creating directory
        dir.Create();
        Console.WriteLine("Directory Created Successfully!");
      }
    }
  }
}

Output:

Directory Created Successfully!

A directory named “Sample” will be created on a path that you will specify in a program. The program also checks if the directory specified already exists in that path or not.


Example: C# program for DirectoryInfo Class tp delete a directory

using System;
using System.IO;

namespace FileExample
{
  class Program
  {
    static void Main(string[] args)
    {
      string fLoc = "sample.text";
      DirectoryInfo dir = new DirectoryInfo(fLoc);

      try
      {
        dir.Delete();
        Console.WriteLine("Directory Deleted Successfully!");
      }

      catch (Exception ex)
      {
        Console.WriteLine("Something is wrong: " + ex.ToString());
      }
    }
  }
}

Output:

Directory Deleted Successfully!