DirectoryInfo::CreateSubdirectory Method (String^)
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.
Note |
|---|
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 namespace System; using namespace System::IO; int main() { // Create a reference to a directory. DirectoryInfo^ di = gcnew 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
