DirectoryInfo.Create Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee maakt u een map.
Overloads
| Name | Description |
|---|---|
| Create() |
Hiermee maakt u een map. |
| Create(DirectorySecurity) |
Hiermee maakt u een map met behulp van een DirectorySecurity object. |
Create()
Hiermee maakt u een map.
public:
void Create();
public void Create();
member this.Create : unit -> unit
Public Sub Create ()
Uitzonderingen
De map kan niet worden gemaakt.
Voorbeelden
In het volgende voorbeeld wordt gecontroleerd of er een opgegeven map bestaat, wordt de map gemaakt als deze niet bestaat en wordt de map verwijderd.
using System;
using System.IO;
class Test
{
public static void Main()
{
// Specify the directories you want to manipulate.
DirectoryInfo di = new DirectoryInfo(@"c:\MyDir");
try
{
// Determine whether the directory exists.
if (di.Exists)
{
// Indicate that it already exists.
Console.WriteLine("That path exists already.");
return;
}
// Try to create the directory.
di.Create();
Console.WriteLine("The directory was created successfully.");
// Delete the directory.
di.Delete();
Console.WriteLine("The directory was deleted successfully.");
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
finally {}
}
}
open System.IO
// Specify the directories you want to manipulate.
let di = DirectoryInfo @"c:\MyDir"
try
// Determine whether the directory exists.
if di.Exists then
// Indicate that it already exists.
printfn "That path exists already."
else
// Try to create the directory.
di.Create()
printfn "The directory was created successfully."
// Delete the directory.
di.Delete()
printfn "The directory was deleted successfully."
with e ->
printfn $"The process failed: {e}"
Imports System.IO
Public Class Test
Public Shared Sub Main()
' Specify the directories you want to manipulate.
Dim di As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Try
' Determine whether the directory exists.
If di.Exists Then
' Indicate that it already exists.
Console.WriteLine("That path exists already.")
Return
End If
' Try to create the directory.
di.Create()
Console.WriteLine("The directory was created successfully.")
'Delete the directory.
di.Delete()
Console.WriteLine("The directory was deleted successfully.")
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Opmerkingen
Alle mappen die zijn opgegeven in path , worden gemaakt, tenzij een deel ongeldig path is. Met de path parameter wordt een mappad opgegeven, niet een bestandspad. Als de map al bestaat, doet deze methode niets. Als de map niet bestond voordat deze methode werd aangeroepen, worden alle informatie over het kenmerk in de cache over de map leeggemaakt als het maken is geslaagd.
Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.
Zie ook
- Bestands- en Stream-I/O
- Procedure: Tekst uit een bestand lezen
- Procedure: Tekst naar een bestand schrijven
Van toepassing op
Create(DirectorySecurity)
Hiermee maakt u een map met behulp van een DirectorySecurity object.
public:
void Create(System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public void Create(System.Security.AccessControl.DirectorySecurity directorySecurity);
member this.Create : System.Security.AccessControl.DirectorySecurity -> unit
Public Sub Create (directorySecurity As DirectorySecurity)
Parameters
- directorySecurity
- DirectorySecurity
Het toegangsbeheer dat moet worden toegepast op de map.
Uitzonderingen
De beller heeft niet de vereiste machtiging.
Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.
Het opgegeven pad is ongeldig, zoals op een niet-toegewezen station.
Het maken van een map met alleen de dubbele punt (:) teken is geprobeerd.
Voorbeelden
In het volgende codevoorbeeld wordt een nieuwe map gemaakt in de tijdelijke map van de gebruiker met de opgegeven directorybeveiligingskenmerken:
using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;
namespace ConsoleApp
{
class Program
{
static void Main()
{
DirectorySecurity security = new DirectorySecurity();
SecurityIdentifier identity = new SecurityIdentifier(WellKnownSidType.BuiltinUsersSid, null);
FileSystemAccessRule accessRule = new FileSystemAccessRule(identity, FileSystemRights.FullControl, AccessControlType.Allow);
security.AddAccessRule(accessRule);
string path = Path.Combine(Path.GetTempPath(), "directoryToCreate");
DirectoryInfo dirInfo = new DirectoryInfo(path);
dirInfo.Create(security);
}
}
}
Opmerkingen
Gebruik deze methode overbelasting om een map te maken met toegangsbeheer, zodat er geen kans is dat de directory kan worden geopend voordat de beveiliging wordt toegepast.
Als de map al bestaat, doet deze methode niets.
Zie Algemene I/O-taken voor een lijst met algemene I/O-taken.
Important
Deze methode is overgezet naar .NET Core 3.1 als een uitbreidingsmethode van de klasse FileSystemAclExtensions als onderdeel van de System.Security.AccessControl assembly: Create(DirectoryInfo, DirectorySecurity).