C# Tutorial
C# String
C# Array
C# Flow Control
C# Class and Object
C# Inheritance
C# Interface
C# Collection
C# Generic
C# File I/O
C# Delegate and Event
C# Exception
C# Process and Thread
C# ADO.NET Database 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.
To use the DirectoryInfo
class, you need to import the System.IO
namespace:
using System.IO;
To create a DirectoryInfo
object, instantiate it with the directory path as a parameter:
string folderPath = @"C:\MyNewFolder"; DirectoryInfo directoryInfo = new DirectoryInfo(folderPath);
To create a new directory, call the Create()
method:
directoryInfo.Create();
The DirectoryInfo
class doesn't have an Exists()
method. To check if a directory exists, use the Exists
property:
bool directoryExists = directoryInfo.Exists;
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();
To move a directory to a new location, call the MoveTo()
method:
string destinationPath = @"C:\MyNewFolderMoved"; directoryInfo.MoveTo(destinationPath);
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#.
C# DirectoryInfo class example:
DirectoryInfo
class in C# is part of the System.IO namespace and provides instance methods and properties for working with directories.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."); } } }
Creating a directory with DirectoryInfo in C#:
DirectoryInfo.Create
method is used to create a new directory.string newDirectoryPath = @"C:\NewDirectory"; DirectoryInfo newDirectoryInfo = new DirectoryInfo(newDirectoryPath); newDirectoryInfo.Create();
Checking if a directory exists using DirectoryInfo in C#:
DirectoryInfo.Exists
property is used to check if a directory exists.string directoryPath = @"C:\ExistingDirectory"; DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); if (directoryInfo.Exists) { Console.WriteLine("Directory exists!"); }
Listing files in a directory with C# DirectoryInfo class:
DirectoryInfo.GetFiles
method is used to retrieve an array of file names in a directory.string directoryPath = @"C:\SomeDirectory"; DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); FileInfo[] files = directoryInfo.GetFiles(); foreach (FileInfo file in files) { Console.WriteLine(file.FullName); }
Deleting a directory with DirectoryInfo in C#:
DirectoryInfo.Delete
method is used to delete a directory.string directoryToDelete = @"C:\DirectoryToDelete"; DirectoryInfo directoryInfoToDelete = new DirectoryInfo(directoryToDelete); directoryInfoToDelete.Delete();
C# DirectoryInfo class for moving folders:
DirectoryInfo.MoveTo
method allows you to move a directory to a new location.string sourceDirectory = @"C:\SourceDirectory"; string destinationDirectory = @"D:\DestinationDirectory"; DirectoryInfo sourceDirectoryInfo = new DirectoryInfo(sourceDirectory); sourceDirectoryInfo.MoveTo(destinationDirectory);
Getting directory information with C# DirectoryInfo:
DirectoryInfo
class provides properties for obtaining information about a directory.string directoryPath = @"C:\SomeDirectory"; DirectoryInfo directoryInfo = new DirectoryInfo(directoryPath); Console.WriteLine($"Directory Name: {directoryInfo.Name}"); Console.WriteLine($"Creation Time: {directoryInfo.CreationTime}");
Renaming a directory using DirectoryInfo in C#:
DirectoryInfo.MoveTo
method can be used to rename a directory by moving it to a new location with a different name.string oldDirectoryName = @"C:\OldName"; string newDirectoryName = @"C:\NewName"; DirectoryInfo oldDirectoryInfo = new DirectoryInfo(oldDirectoryName); oldDirectoryInfo.MoveTo(newDirectoryName);