List files in a directory in C#

To list all files in a directory in C#, you can use the Directory.GetFiles() method. Here is an example:

string directoryPath = @"C:\ExampleDirectory";
string[] files = Directory.GetFiles(directoryPath);

foreach (string file in files)
{
    Console.WriteLine(file);
}

To ignore inaccessible files in a folder, you can add a try-catch block and catch the UnauthorizedAccessException exception that is thrown when a file cannot be accessed due to permissions or other issues:

string directoryPath = @"C:\ExampleDirectory";
string[] files = null;

try
{
    files = Directory.GetFiles(directoryPath);
}
catch (UnauthorizedAccessException ex)
{
    Console.WriteLine(ex.Message);
}

if (files != null)
{
    foreach (string file in files)
    {
        Console.WriteLine(file);
    }
}

In this example, if the Directory.GetFiles() method throws an UnauthorizedAccessException, the error message is printed to the console, but the code continues executing without listing the inaccessible files.

  1. "C# list files in a directory example": An overview of listing files in a directory in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Get all files in the directory
    string[] files = Directory.GetFiles(directoryPath);
    
  2. "Listing files using Directory.GetFiles in C#": Using Directory.GetFiles to list files in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Get all files in the directory
    string[] files = Directory.GetFiles(directoryPath);
    
  3. "Getting file names from a directory in C#": Retrieving file names from a directory in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Get file names only
    string[] fileNames = Directory.GetFiles(directoryPath).Select(Path.GetFileName).ToArray();
    
  4. "Iterating through files in a directory with C#": Iterating through files in a directory using C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Iterate through files
    foreach (string filePath in Directory.GetFiles(directoryPath))
    {
        Console.WriteLine(filePath);
    }
    
  5. "Filtering files based on extensions in C#": Filtering files based on extensions in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    string targetExtension = ".txt";
    
    // Filter files by extension
    string[] filteredFiles = Directory.GetFiles(directoryPath, $"*{targetExtension}");
    
  6. "Retrieving file information from a directory in C#": Retrieving detailed file information from a directory in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Get file information
    FileInfo[] fileInfoArray = new DirectoryInfo(directoryPath).GetFiles();
    
  7. "Sorting files in a directory by date in C#": Sorting files in a directory by date in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Sort files by creation date
    var sortedFiles = new DirectoryInfo(directoryPath).GetFiles().OrderBy(f => f.CreationTime);
    
  8. "Listing only specific types of files in C#": Listing only specific types of files in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    string[] allowedExtensions = { ".jpg", ".png", ".gif" };
    
    // Filter files by allowed extensions
    var allowedFiles = Directory.GetFiles(directoryPath)
        .Where(file => allowedExtensions.Contains(Path.GetExtension(file)));
    
  9. "Recursively listing files in subdirectories in C#": Recursively listing files in subdirectories in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Recursively get all files
    string[] allFiles = Directory.GetFiles(directoryPath, "*", SearchOption.AllDirectories);
    
  10. "Using LINQ to query files in a directory in C#": Utilizing LINQ to query files in a directory in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // LINQ query for files
    var query = from file in new DirectoryInfo(directoryPath).GetFiles()
                where file.Length > 1000
                orderby file.Name
                select file;
    
  11. "Displaying file details with FileInfo in C#": Displaying file details using FileInfo in C#.

    string filePath = "C:\\Path\\to\\file.txt";
    
    // Display file details
    FileInfo fileInfo = new FileInfo(filePath);
    Console.WriteLine($"File Name: {fileInfo.Name}, Size: {fileInfo.Length} bytes");
    
  12. "Handling exceptions while listing files in C#": Handling exceptions that may occur while listing files in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    try
    {
        // Attempt to get files
        string[] files = Directory.GetFiles(directoryPath);
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Error: {ex.Message}");
    }
    
  13. "Listing files based on criteria in C#": Listing files based on specific criteria in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // List files based on criteria
    var filteredFiles = Directory.GetFiles(directoryPath)
        .Where(file => new FileInfo(file).Length > 1024); // Example: files larger than 1 KB
    
  14. "Getting file count in a directory in C#": Getting the count of files in a directory in C#.

    string directoryPath = "C:\\Path\\to\\directory";
    
    // Get file count
    int fileCount = Directory.GetFiles(directoryPath).Length;