DirectoryInfo.Create Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Crée un répertoire.
Surcharges
Create() |
Crée un répertoire. |
Create(DirectorySecurity) |
Crée un répertoire en utilisant un objet DirectorySecurity. |
Create()
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
- Source:
- DirectoryInfo.cs
Crée un répertoire.
public:
void Create();
public void Create ();
member this.Create : unit -> unit
Public Sub Create ()
Exceptions
Impossible de créer le répertoire.
Exemples
L’exemple suivant vérifie si un répertoire spécifié existe, crée le répertoire s’il n’existe pas et supprime le répertoire.
using namespace System;
using namespace System::IO;
int main()
{
// Specify the directories you want to manipulate.
DirectoryInfo^ di = gcnew DirectoryInfo( "c:\\MyDir" );
try
{
// Determine whether the directory exists.
if ( di->Exists )
{
// Indicate that it already exists.
Console::WriteLine( "That path exists already." );
return 0;
}
// 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 );
}
}
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
Remarques
Tous les répertoires spécifiés dans path
sont créés, sauf si une partie de n’est path
pas valide. Le path
paramètre spécifie un chemin d’accès au répertoire, pas un chemin d’accès de fichier. Si le répertoire existe déjà, cette méthode ne fait rien. Si le répertoire n’existait pas avant l’appel de cette méthode, toutes les informations d’attribut mises en cache sur le répertoire seront vidées si la création réussit.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches courantes d’E/S.
Voir aussi
- Fichier et flux de données E/S
- Procédure : lire le texte d’un fichier
- Procédure : écrire du texte dans un fichier
S’applique à
Create(DirectorySecurity)
Crée un répertoire en utilisant un objet DirectorySecurity.
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)
Paramètres
- directorySecurity
- DirectorySecurity
Contrôle d'accès à appliquer au répertoire.
Exceptions
L'appelant n'a pas l'autorisation requise.
.NET Framework et .NET Core versions antérieures à 2.1 : path
est une chaîne de longueur nulle, contient uniquement des espaces blancs ou contient un ou plusieurs caractères non valides. Vous pouvez rechercher les caractères non valides à l’aide de la méthode GetInvalidPathChars().
path
a la valeur null
.
Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système.
Le chemin spécifié n’est pas valide, par exemple si l’emplacement est un lecteur non mappé.
La création d’un répertoire avec uniquement le caractère deux-points (:) a été tentée.
Exemples
L’exemple de code suivant crée un répertoire à l’intérieur du dossier temporaire de l’utilisateur avec les attributs de sécurité d’annuaire spécifiés :
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);
}
}
}
Remarques
Utilisez cette surcharge de méthode pour créer un répertoire avec contrôle d’accès, afin qu’il n’y ait aucune chance d’accéder à l’annuaire avant l’application de la sécurité.
Si le répertoire existe déjà, cette méthode ne fait rien.
Pour obtenir la liste des tâches d’E/S courantes, consultez Tâches courantes d’E/S.
Important
Cette méthode a été transférée vers .NET Core 3.1 en tant que méthode d’extension de la classe dans le FileSystemAclExtensions
cadre de l’assembly System.Security.AccessControl
: Create(DirectoryInfo, DirectorySecurity).