C# Exception Handling
C# File I/O
C# Delegates and Events
C# Generics
C# Async Programming
C# Directory Operations

C# Directory Operations

The Directory and DirectoryInfo classes let you create, browse, and manage folders.

1 - Create and Check

Directory.Exists("uploads");                  // true/false
Directory.CreateDirectory("uploads/images");  // creates all missing segments

string current = Directory.GetCurrentDirectory();
Console.WriteLine(current);

2 - List Files and Subdirectories

// All files in a directory
string[] files = Directory.GetFiles("logs");
foreach (string f in files)
    Console.WriteLine(f);

// Filter by extension
string[] textFiles = Directory.GetFiles("docs", "*.txt", SearchOption.AllDirectories);

// Subdirectories
string[] dirs = Directory.GetDirectories("src");

3 - DirectoryInfo

var dir = new DirectoryInfo("uploads");

foreach (FileInfo file in dir.GetFiles("*.png"))
{
    Console.WriteLine($"{file.Name} — {file.Length} bytes");
    // Process each PNG...
}

4 - Move and Delete

Directory.Move("old-folder", "new-folder");

// Delete (must be empty by default)
Directory.Delete("temp");

// Delete with all contents
Directory.Delete("temp", recursive: true);

Note: Use Path.Combine() to build file paths instead of string concatenation. This handles path separators correctly across Windows (\) and Unix (/) automatically.

-Tip-

C# {"id":44,"topic_id":3,"name":"C# File I\/O","slug":"c-file-io","image":null,"description":"<p>Read and write files, work with directories, and handle paths in C#.<\/p>","icon":null,"class":null,"color":null,"status":0,"order":13,"created_at":"2026-05-03T02:03:02.000000Z","updated_at":"2026-05-03T02:03:02.000000Z"} - List of Contents

Related Tutorials: