FileSystemAclExtensions.Create 메서드

정의

오버로드

Create(DirectoryInfo, DirectorySecurity)

지정된 디렉터리 보안을 사용하여 새 파일 디렉터리를 만듭니다.Creates a new directory, ensuring it is created with the specified directory security. 디렉터리가 이미 있는 경우 아무 작업도 수행되지 않습니다.If the directory already exists, nothing is done.

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

지정된 속성 및 보안 설정을 사용하여 새 파일 스트림을 만듭니다.Creates a new file stream, ensuring it is created with the specified properties and security settings.

Create(DirectoryInfo, DirectorySecurity)

지정된 디렉터리 보안을 사용하여 새 파일 디렉터리를 만듭니다.Creates a new directory, ensuring it is created with the specified directory security. 디렉터리가 이미 있는 경우 아무 작업도 수행되지 않습니다.If the directory already exists, nothing is done.

public:
[System::Runtime::CompilerServices::Extension]
 static void Create(System::IO::DirectoryInfo ^ directoryInfo, System::Security::AccessControl::DirectorySecurity ^ directorySecurity);
public static void Create (this System.IO.DirectoryInfo directoryInfo, System.Security.AccessControl.DirectorySecurity directorySecurity);
static member Create : System.IO.DirectoryInfo * System.Security.AccessControl.DirectorySecurity -> unit
<Extension()>
Public Sub Create (directoryInfo As DirectoryInfo, directorySecurity As DirectorySecurity)

매개 변수

directoryInfo
DirectoryInfo

메서드에 의해 만들어질 아직 존재하지 않는 디렉터리입니다.A directory that does not exist yet that will be created by the method.

directorySecurity
DirectorySecurity

디렉터리의 액세스 제어 및 감사 보안입니다.The access control and audit security for the directory.

예외

directoryInfo 또는 directorySecuritynull인 경우directoryInfo or directorySecurity is null.

일부 경로를 찾을 수 없습니다.Could not find a part of the path.

경로 액세스가 거부되었습니다.Access to the path is denied.

예제

다음 코드 예제에서는 지정 된 디렉터리 보안 특성을 사용 하 여 사용자의 임시 폴더 내에 새 디렉터리를 만듭니다.The following code example creates a new directory inside the user's temporary folder with the specified directory security attributes:

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);
        }
    }
}

설명

System.io.directoryinfo (DirectorySecurity) .NET Framework 메서드에서 제공 된 기능을 가져오기 위해이 확장 메서드는 .net Core에 추가 되었습니다.This extension method was added to .NET Core to bring the functionality that was provided by the DirectoryInfo.Create(DirectorySecurity) .NET Framework method.

적용 대상

Create(FileInfo, FileMode, FileSystemRights, FileShare, Int32, FileOptions, FileSecurity)

지정된 속성 및 보안 설정을 사용하여 새 파일 스트림을 만듭니다.Creates a new file stream, ensuring it is created with the specified properties and security settings.

public:
[System::Runtime::CompilerServices::Extension]
 static System::IO::FileStream ^ Create(System::IO::FileInfo ^ fileInfo, System::IO::FileMode mode, System::Security::AccessControl::FileSystemRights rights, System::IO::FileShare share, int bufferSize, System::IO::FileOptions options, System::Security::AccessControl::FileSecurity ^ fileSecurity);
public static System.IO.FileStream Create (this System.IO.FileInfo fileInfo, System.IO.FileMode mode, System.Security.AccessControl.FileSystemRights rights, System.IO.FileShare share, int bufferSize, System.IO.FileOptions options, System.Security.AccessControl.FileSecurity fileSecurity);
static member Create : System.IO.FileInfo * System.IO.FileMode * System.Security.AccessControl.FileSystemRights * System.IO.FileShare * int * System.IO.FileOptions * System.Security.AccessControl.FileSecurity -> System.IO.FileStream
<Extension()>
Public Function Create (fileInfo As FileInfo, mode As FileMode, rights As FileSystemRights, share As FileShare, bufferSize As Integer, options As FileOptions, fileSecurity As FileSecurity) As FileStream

매개 변수

fileInfo
FileInfo

메서드에 의해 만들어질 아직 존재하지 않는 파일입니다.A file that does not exist yet that will be created by the method.

mode
FileMode

운영 체제에서 파일을 여는 방법을 지정하는 열거형 값 중 하나입니다.One of the enumeration values that specifies how the operating system should open a file.

rights
FileSystemRights

액세스 및 감사 규칙을 만들 때 사용할 액세스 권한을 정의하는 열거형 값 중 하나입니다.One of the enumeration values that defines the access rights to use when creating access and audit rules.

share
FileShare

다른 파일 스트림 개체의 동일한 파일에 대한 액세스 권한 종류를 제어하는 열거형 값 중 하나입니다.One of the enumeration values for controlling the kind of access other file stream objects can have to the same file.

bufferSize
Int32

파일 읽기 및 쓰기를 위해 버퍼링할 바이트 수입니다.The number of bytes buffered for reads and writes to the file.

options
FileOptions

파일을 만들거나 덮어쓸 방식을 설명하는 열거형 값 중 하나입니다.One of the enumeration values that describes how to create or overwrite the file.

fileSecurity
FileSecurity

파일의 액세스 제어 및 감사 보안을 결정하는 개체입니다.An object that determines the access control and audit security for the file.

반환

FileStream

새로 만든 파일의 파일 스트림입니다.A file stream for the newly created file.

예외

rightsmode 조합이 잘못되었습니다.The rights and mode combination is invalid.

fileInfo 또는 fileSecuritynull인 경우fileInfo or fileSecurity is null.

mode 또는 share가 올바른 열거형 범위를 벗어났습니다.mode or share are out of their legal enum range.

또는-or-

bufferSize이(가) 양수가 아닙니다.bufferSize is not a positive number.

일부 경로를 찾을 수 없습니다.Could not find a part of the path.

I/O 오류가 발생했습니다.An I/O error occurred.

경로 액세스가 거부되었습니다.Access to the path is denied.

예제

다음 코드 예제에서는 지정 된 파일 보안 특성을 사용 하 여 사용자의 임시 폴더 내에 기본 버퍼 크기인 4096 인 새 텍스트 파일을 만듭니다.The following code example creates a new text file (with the default buffer size of 4096) inside the user's temporary folder with the specified file security attributes:

using System.IO;
using System.Security.AccessControl;
using System.Security.Principal;

namespace ConsoleApp
{
    class Program
    {
        static void Main()
        {
            FileSecurity security = new FileSecurity();

            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(), "fileToCreate.txt");

            FileInfo fileInfo = new FileInfo(path);

            fileInfo.Create(FileMode.Create, FileSystemRights.FullControl, FileShare.Read, 4096, FileOptions.None, security);
        }
    }
}

설명

이 확장 메서드는에서 제공 하는 기능을 가져오기 위해 .NET Core에 추가 되었습니다.This extension method was added to .NET Core to bring the functionality that was provided by:

적용 대상