O'Reilly logo

C# Cookbook by Jay Hilyard, Stephen Teilhet

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

11.10. Creating, Moving, and Deleting a Directory

Problem

You need to create a new directory, move an existing directory, or delete a directory.

Solution

The System.IO namespace contains two classes to perform these actions: the Directory and DirectoryInfo classes. The Directory class contains only static methods, while the DirectoryInfo class contains only instance methods.

To create a directory, you can use the static CreateDirectory method of the Directory class. The return value for this method is an instance of the DirectoryInfo class. This class can be used to invoke instance methods on the newly created directory. For example:

DirectoryInfo dirInfo = null;
if (!Directory.Exists(@"c:\delete\test"))
{
    dirInfo = Directory.CreateDirectory(@"c:\delete\test");
}

You can also use the instance Create method of the DirectoryInfo class—a method that takes no parameters and returns void. For example:

DirectoryInfo dirInfo = null;
if (!Directory.Exists(@"c:\delete\test"))
{
    dirInfo = new DirectoryInfo(@"c:\delete\test");
    dirInfo.Create( );
}

To move a directory, you can use the static Move method of the Directory class, which returns void. For example:

if (!Directory.Exists(@"c:\MovedDir"))
{
    Directory.Move(@"c:\delete", @"c:\MovedDir");
}

You can also use the instance MoveTo method of the DirectoryInfo class, which returns void. For example:

DirectoryInfo dirInfo = null; if (!Directory.Exists(@"c:\MovedDir")) { dirInfo = new DirectoryInfo(@"c:\delete\test"); dirInfo.MoveTo(@"c:\MovedDir"); ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required