Bird
Raised Fist0
C Sharp (C#)programming~30 mins

File paths and Directory operations in C Sharp (C#) - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
File paths and Directory operations
📖 Scenario: You are organizing your computer files for a small project. You want to create folders and check file paths to keep everything neat and easy to find.
🎯 Goal: Build a simple C# program that creates a directory, checks if a file path exists, and lists files in a directory.
📋 What You'll Learn
Create a string variable with a directory path
Create a string variable with a file path
Use Directory.CreateDirectory to create the directory
Use File.Exists to check if the file exists
Use Directory.GetFiles to list files in the directory
Print the results to the console
💡 Why This Matters
🌍 Real World
Managing files and folders is a common task when organizing data, saving reports, or handling user uploads in software.
💼 Career
Understanding file paths and directory operations is essential for software developers, system administrators, and anyone working with file management in applications.
Progress0 / 4 steps
1
Create directory and file path variables
Create a string variable called folderPath with the value "C:\\ExampleFolder" and a string variable called filePath with the value "C:\\ExampleFolder\\example.txt".
C Sharp (C#)
Hint

Use double backslashes \\ in the string to represent a single backslash in file paths.

2
Create the directory
Use Directory.CreateDirectory(folderPath) to create the directory at the path stored in folderPath.
C Sharp (C#)
Hint

Use the Directory.CreateDirectory method and pass folderPath as the argument.

3
Check if the file exists and list files
Create a boolean variable called fileExists and set it to File.Exists(filePath). Then create a string array called files and set it to Directory.GetFiles(folderPath).
C Sharp (C#)
Hint

Use File.Exists to check the file and Directory.GetFiles to get all files in the folder.

4
Print the results
Print the value of fileExists using Console.WriteLine. Then use a foreach loop with variable file to print each file path in the files array.
C Sharp (C#)
Hint

Use Console.WriteLine(fileExists) and a foreach loop to print each file path.

Practice

(1/5)
1. Which C# class is used to check if a directory exists on your computer?
easy
A. Path
B. File
C. Directory
D. StreamReader

Solution

  1. Step 1: Understand the purpose of Directory class

    The Directory class provides methods to work with folders, including checking if they exist.
  2. Step 2: Identify the correct method for existence check

    Directory.Exists(path) returns true if the folder exists, which is what we need.
  3. Final Answer:

    Directory -> Option C
  4. Quick Check:

    Directory = Folder check [OK]
Hint: Use Directory class to manage folders easily [OK]
Common Mistakes:
  • Confusing File class with Directory for folders
  • Using Path class to check existence
  • Trying to read folder like a file
2. Which of the following is the correct syntax to create a new directory named "Data" in C#?
easy
A. Directory.Create("Data");
B. File.CreateDirectory("Data");
C. Path.CreateDirectory("Data");
D. Directory.CreateDirectory("Data");

Solution

  1. Step 1: Identify the correct method to create directories

    The Directory class has a method called CreateDirectory to make new folders.
  2. Step 2: Check method names and classes

    Only Directory.CreateDirectory("Data") is valid syntax; others are incorrect or belong to wrong classes.
  3. Final Answer:

    Directory.CreateDirectory("Data"); -> Option D
  4. Quick Check:

    CreateDirectory method creates folders [OK]
Hint: Use Directory.CreateDirectory to make folders [OK]
Common Mistakes:
  • Using Directory.Create instead of CreateDirectory
  • Trying to create directory with File class
  • Using Path class for folder creation
3. What will be the output of this C# code?
string folder = "C:\\Users\\Public";
string fileName = "report.txt";
string fullPath = Path.Combine(folder, fileName);
Console.WriteLine(fullPath);
medium
A. C:/Users/Public/report.txt
B. C:\Users\Public\report.txt
C. C:\Users\Publicreport.txt
D. C:\Users\Public\

Solution

  1. Step 1: Understand Path.Combine behavior

    Path.Combine joins folder and file name with the correct directory separator for Windows (\).
  2. Step 2: Check the combined string output

    The result is "C:\Users\Public\report.txt" with backslashes and a single separator between folder and file.
  3. Final Answer:

    C:\Users\Public\report.txt -> Option B
  4. Quick Check:

    Path.Combine joins paths with \ [OK]
Hint: Path.Combine joins paths with correct separators [OK]
Common Mistakes:
  • Expecting forward slashes instead of backslashes
  • Missing separator between folder and file
  • Confusing output with folder path only
4. Identify the error in this code snippet that tries to delete a directory:
string path = "C:\\Temp";
if (Directory.Exists(path))
{
    Directory.Delete(path);
    Console.WriteLine("Deleted");
}
medium
A. Directory.Delete requires a second argument to delete non-empty folders
B. Directory.Exists should be File.Exists
C. The path string is incorrectly escaped
D. Console.WriteLine cannot be used inside if

Solution

  1. Step 1: Understand Directory.Delete behavior

    Directory.Delete(path) without a second argument only deletes empty folders.
  2. Step 2: Check if folder might be non-empty

    If folder has files, Directory.Delete(path, true) is needed to delete recursively.
  3. Final Answer:

    Directory.Delete requires a second argument to delete non-empty folders -> Option A
  4. Quick Check:

    Delete non-empty folder needs recursive flag [OK]
Hint: Use Directory.Delete(path, true) for non-empty folders [OK]
Common Mistakes:
  • Assuming Directory.Delete deletes non-empty folders by default
  • Using File.Exists to check folders
  • Incorrectly escaping path strings
5. You want to list all subdirectories inside "C:\\Projects" and print their full paths. Which code snippet correctly does this?
hard
A. foreach (var dir in Directory.GetDirectories("C:\\Projects")) { Console.WriteLine(dir); }
B. foreach (var file in Directory.GetFiles("C:\\Projects")) { Console.WriteLine(file); }
C. foreach (var dir in Path.GetDirectories("C:\\Projects")) { Console.WriteLine(dir); }
D. foreach (var dir in Directory.ListDirectories("C:\\Projects")) { Console.WriteLine(dir); }

Solution

  1. Step 1: Identify method to get subdirectories

    Directory.GetDirectories(path) returns an array of folder paths inside the given directory.
  2. Step 2: Use foreach to print each directory path

    Looping over the array and printing each path is done with foreach and Console.WriteLine.
  3. Final Answer:

    foreach (var dir in Directory.GetDirectories("C:\\Projects")) { Console.WriteLine(dir); } -> Option A
  4. Quick Check:

    GetDirectories lists folders [OK]
Hint: Use Directory.GetDirectories to list folders [OK]
Common Mistakes:
  • Using GetFiles instead of GetDirectories
  • Trying to use Path class for directory listing
  • Using non-existent Directory.ListDirectories method