Search code examples
c#.netfile-access

How do I create a file AND any folders, if the folders don't exist?


Imagine I wish to create (or overwrite) the following file :- C:\Temp\Bar\Foo\Test.txt

Using the File.Create(..) method, this can do it.

BUT, if I don't have either one of the following folders (from that example path, above)

  • Temp
  • Bar
  • Foo

then I get an DirectoryNotFoundException thrown.

So .. given a path, how can we recursively create all the folders necessary to create the file .. for that path? If Temp or Bar folders exists, but Foo doesn't... then that is created also.

For simplicity, lets assume there's no Security concerns -- all permissions are fine, etc.


Solution

  • DirectoryInfo di = Directory.CreateDirectory(path);
    Console.WriteLine("The directory was created successfully at {0}.",
        Directory.GetCreationTime(path));
    

    See this MSDN page.