DirectoryInfo.Create Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Crea una directory.
Overload
Create() |
Crea una directory. |
Create(DirectorySecurity) |
Crea una directory usando l'oggetto DirectorySecurity. |
Create()
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
- Origine:
- DirectoryInfo.cs
Crea una directory.
public:
void Create();
public void Create ();
member this.Create : unit -> unit
Public Sub Create ()
Eccezioni
Non è possibile creare la directory.
Esempio
Nell'esempio seguente viene verificato se esiste una directory specificata, crea la directory se non esiste ed elimina la directory.
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
Commenti
Tutte le directory specificate in path
vengono create, a meno che non sia valida una parte di path
. Il path
parametro specifica un percorso della directory, non un percorso di file. Se la directory esiste già, questo metodo non fa nulla. Se la directory non esiste prima di chiamare questo metodo, eventuali informazioni sull'attributo memorizzato nella cache sulla directory verranno scaricate se la creazione ha esito positivo.
Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.
Vedi anche
Si applica a
Create(DirectorySecurity)
Crea una directory usando l'oggetto 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)
Parametri
- directorySecurity
- DirectorySecurity
Controllo di accesso da applicare alla directory.
Eccezioni
Il chiamante non dispone dell'autorizzazione richiesta.
.NET Framework e versioni di .NET Core precedenti a 2.1: path
è una stringa di lunghezza zero, contiene solo spazio vuoto o contiene uno o più caratteri non validi. È possibile cercare i caratteri non validi usando il metodo GetInvalidPathChars().
path
è null
.
Il percorso specificato, il nome file o entrambi superano la lunghezza massima definita dal sistema.
Il percorso specificato non è valido, ad esempio si trova in un'unità non mappata.
Si è provato a creare una directory usando solo il carattere due punti (:).
Esempio
Nell'esempio di codice seguente viene creata una nuova directory all'interno della cartella temporanea dell'utente con gli attributi di sicurezza della directory specificati:
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);
}
}
}
Commenti
Usare questo overload di metodo per creare una directory con il controllo di accesso, quindi non è possibile accedere alla directory prima dell'applicazione della sicurezza.
Se la directory esiste già, questo metodo non fa nulla.
Per un elenco di attività di I/O comuni, vedere Attività di I/O comuni.
Importante
Questo metodo è stato convertito in .NET Core 3.1 come metodo di estensione della classe come parte dell'assembly FileSystemAclExtensions
System.Security.AccessControl
: Create(DirectoryInfo, DirectorySecurity).