Web Design that taps into the haromny and vision of your dreams.

Simple Directory Listing in C#

Recursive directory listing in C#

Written By on in Coding

271 words, estimated reading time 2 minutes.

This little C# code snippet will produce a recursive directory listing in C# and get a list of all the files and folders in the directory, returning them as a formatted StringBuilder object.

The function to get a directory listing in C# takes one parameter, the directory to start looking in. It will then retrieve a list of files and folders in that directory and for each folder it finds, it will call itself on that folder. Each time the function finds files or folders it will add them to a StringBuilder object and return the directory listing to the calling function. If that function is itself, then the new directory listing is appended to the existing listing. This process repeats until all files and folders have been listed. The function then returns the completed recursive directory listing in C# back to the originating method, in the example shown, the main function.

Simple Directory Listing in C#

using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace ConsoleApplication1
  class Program
    static void Main(string[] args)
      StringBuilder dirList = directoryListing("C:\Inetpub", "");
    static StringBuilder directoryListing(string path, string indent)
      StringBuilder result = new StringBuilder();
      DirectoryInfo di = new DirectoryInfo(path);
      DirectoryInfo[] rgDirs = di.GetDirectories();
      foreach (DirectoryInfo dir in rgDirs)
        result.AppendLine(indent + dir.Name);
        result.Append(directoryListing(path, indent + "..").ToString());
      return result;

If you want, you could adapt this directory listing in C# to return a List with the full path of the file if you need to access or process files, or you could use this method to recursively search for a file or folder. Why not let me know what you come up with in the comments section - and share your code to help others looking for similar tasks!

Last updated on: Tuesday 20th June 2017



There are no comments for this post. Be the first!



Leave a Reply

Your email address will not be published.

If you find something abusive or that does not comply with our terms or guidelines please flag it as inappropriate.


Copyright © 2001-2018 Tim Trott, all rights reserved. Web Design by Azulia Designs

This web page is licensed for your personal, private, non-commercial use only.

Disclaimer, Privacy & LegalSitemapContact Me