
DirectoryInfo.CreateSubdirectory Method (String)
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Creates a subdirectory or subdirectories on the specified path. The specified path can be relative to this instance of the DirectoryInfo class.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- path
-
Type:
System.String
The specified path. This cannot be a different disk volume or Universal Naming Convention (UNC) name.
Exception | Condition |
---|---|
ArgumentException | path does not specify a valid file path or contains invalid DirectoryInfo characters. |
ArgumentNullException | path is null. |
DirectoryNotFoundException | The specified path is invalid, such as being on an unmapped drive. |
IOException | The subdirectory cannot be created. -or- A file or directory already has the name specified by path. |
PathTooLongException | The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters. The specified path, file name, or both are too long. |
SecurityException | The caller does not have code access permission to create the directory. -or- The caller does not have code access permission to read the directory described by the returned DirectoryInfo object. This can occur when the path parameter describes an existing directory. |
NotSupportedException | path contains a colon character (:) that is not part of a drive label ("C:\"). |
Any and all directories specified in path are created, unless some part of path is invalid. The path parameter specifies a directory path, not a file path. If the subdirectory already exists, this method does nothing.
![]() |
---|
Path names are limited to 248 characters. |
For a list of common I/O tasks, see Common I-O Tasks.
The following example demonstrates creating a subdirectory. In this example, the created directories are removed once created. Therefore, to test this sample, comment out the delete lines in the code.
using System; using System.IO; public class CreateSubTest { public static void Main() { // Create a reference to a directory. DirectoryInfo di = new DirectoryInfo("TempDir"); // Create the directory only if it does not already exist. if (di.Exists == false) di.Create(); // Create a subdirectory in the directory just created. DirectoryInfo dis = di.CreateSubdirectory("SubDir"); // Process that directory as required. // ... // Delete the subdirectory. dis.Delete(true); // Delete the directory. di.Delete(true); } }
for reading and writing files. Associated enumerations: FileIOPermissionAccess.Read, FileIOPermissionAccess.Write
Available since 10
.NET Framework
Available since 1.1
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0