C# Directoryinfo Class: Folder Operations

C# Directoryinfo Class: Folder Operations

In C#, the DirectoryInfo class, part of the System.IO namespace, provides an object-oriented way to work with directories (folders). In this tutorial, we'll cover the most common folder operations using the DirectoryInfo class.

  • Importing the System.IO namespace:

To use the DirectoryInfo class, you need to import the System.IO namespace:

using System.IO; 
  • Creating a DirectoryInfo object:

To create a DirectoryInfo object, instantiate it with the directory path as a parameter:

string folderPath = @"C:\MyNewFolder"; DirectoryInfo directoryInfo = new DirectoryInfo(folderPath); 
  • Creating a directory:

To create a new directory, call the Create() method:

directoryInfo.Create(); 
  • Checking if a directory exists:

The DirectoryInfo class doesn't have an Exists() method. To check if a directory exists, use the Exists property:

bool directoryExists = directoryInfo.Exists; 
  • Getting a list of files and subdirectories:

To get an array of FileInfo and DirectoryInfo objects representing files and subdirectories in a directory, use the GetFiles() and GetDirectories() methods:

FileInfo[] files = directoryInfo.GetFiles(); DirectoryInfo[] subdirectories = directoryInfo.GetDirectories(); 
  • Moving a directory:

To move a directory to a new location, call the MoveTo() method:

string destinationPath = @"C:\MyNewFolderMoved"; directoryInfo.MoveTo(destinationPath); 
  • Deleting a directory:

To delete a directory, call the Delete() method. Note that by default, this method throws an exception if the directory is not empty. To delete a non-empty directory, pass true as the first parameter:

directoryInfo.Delete(true); 

Here's a complete example demonstrating folder operations using the DirectoryInfo class in C#:

using System; using System.IO; namespace DirectoryInfoTutorial { class Program { static void Main(string[] args) { string folderPath = @"C:\MyNewFolder"; DirectoryInfo directoryInfo = new DirectoryInfo(folderPath); // Creating a directory Console.WriteLine("Creating directory..."); directoryInfo.Create(); // Checking if a directory exists bool directoryExists = directoryInfo.Exists; Console.WriteLine($"Directory exists: {directoryExists}"); // Getting a list of files and subdirectories FileInfo[] files = directoryInfo.GetFiles(); DirectoryInfo[] subdirectories = directoryInfo.GetDirectories(); Console.WriteLine("Files and subdirectories:"); foreach (FileInfo file in files) { Console.WriteLine(file.Name); } foreach (DirectoryInfo subdir in subdirectories) { Console.WriteLine(subdir.Name); } // Moving a directory Console.WriteLine("Moving directory..."); string destinationPath = @"C:\MyNewFolderMoved"; directoryInfo.MoveTo(destinationPath); // Deleting a directory Console.WriteLine("Deleting directory..."); directoryInfo.Delete(true); // Verifying the directory was deleted bool directoryDeleted = !directoryInfo.Exists; Console.WriteLine($"Directory deleted: {directoryDeleted}"); } } } 

This example demonstrates how to perform common folder operations using the DirectoryInfo class in C#.

Examples

  1. C# DirectoryInfo class example:

    • Description: The DirectoryInfo class in C# is part of the System.IO namespace and provides instance methods and properties for working with directories.
    • Code:
      using System; using System.IO; class Program { static void Main() { // Example using DirectoryInfo class string directoryPath = @"C:\ExampleDirectory"; DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); if (directoryInfo.Exists) { Console.WriteLine("Directory exists!"); } else { Console.WriteLine("Directory does not exist."); } } } 
  2. Creating a directory with DirectoryInfo in C#:

    • Description: The DirectoryInfo.Create method is used to create a new directory.
    • Code:
      string newDirectoryPath = @"C:\NewDirectory"; DirectoryInfo newDirectoryInfo = new DirectoryInfo(newDirectoryPath); newDirectoryInfo.Create(); 
  3. Checking if a directory exists using DirectoryInfo in C#:

    • Description: The DirectoryInfo.Exists property is used to check if a directory exists.
    • Code:
      string directoryPath = @"C:\ExistingDirectory"; DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); if (directoryInfo.Exists) { Console.WriteLine("Directory exists!"); } 
  4. Listing files in a directory with C# DirectoryInfo class:

    • Description: The DirectoryInfo.GetFiles method is used to retrieve an array of file names in a directory.
    • Code:
      string directoryPath = @"C:\SomeDirectory"; DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); FileInfo[] files = directoryInfo.GetFiles(); foreach (FileInfo file in files) { Console.WriteLine(file.FullName); } 
  5. Deleting a directory with DirectoryInfo in C#:

    • Description: The DirectoryInfo.Delete method is used to delete a directory.
    • Code:
      string directoryToDelete = @"C:\DirectoryToDelete"; DirectoryInfo directoryInfoToDelete = new DirectoryInfo(directoryToDelete); directoryInfoToDelete.Delete(); 
  6. C# DirectoryInfo class for moving folders:

    • Description: The DirectoryInfo.MoveTo method allows you to move a directory to a new location.
    • Code:
      string sourceDirectory = @"C:\SourceDirectory"; string destinationDirectory = @"D:\DestinationDirectory"; DirectoryInfo sourceDirectoryInfo = new DirectoryInfo(sourceDirectory); sourceDirectoryInfo.MoveTo(destinationDirectory); 
  7. Getting directory information with C# DirectoryInfo:

    • Description: The DirectoryInfo class provides properties for obtaining information about a directory.
    • Code:
      string directoryPath = @"C:\SomeDirectory"; DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); Console.WriteLine($"Directory Name: {directoryInfo.Name}"); Console.WriteLine($"Creation Time: {directoryInfo.CreationTime}"); 
  8. Renaming a directory using DirectoryInfo in C#:

    • Description: The DirectoryInfo.MoveTo method can be used to rename a directory by moving it to a new location with a different name.
    • Code:
      string oldDirectoryName = @"C:\OldName"; string newDirectoryName = @"C:\NewName"; DirectoryInfo oldDirectoryInfo = new DirectoryInfo(oldDirectoryName); oldDirectoryInfo.MoveTo(newDirectoryName); 

More Tags

jquery-ui-dialog angular2-custom-pipes build logging friendly-url pointycastle disabled-input jobs netcdf jakarta-ee

More Programming Guides

Other Guides

More Programming Examples