이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

DirectoryInfo 클래스

디렉터리 및 하위 디렉터리를 만들고, 이동하고, 열거하는 인스턴스 메서드를 노출합니다. 이 클래스는 상속될 수 없습니다.

네임스페이스:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class DirectoryInfo : FileSystemInfo

DirectoryInfo 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드XNA Framework에서 지원DirectoryInfo지정된 경로를 사용하여 DirectoryInfo 클래스의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성XNA Framework에서 지원Attributes현재 파일 또는 디렉터리의 특성을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원CreationTime현재 파일 또는 디렉터리를 만든 시간을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성CreationTimeUtc현재 파일 또는 디렉터리를 만든 시간을 UTC(협정 세계시) 기준으로 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원Exists디렉터리가 있는지 여부를 나타내는 값을 가져옵니다. (FileSystemInfo.Exists을(를) 재정의함)
Public 속성XNA Framework에서 지원Extension파일의 확장명 부분을 나타내는 문자열을 가져옵니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원FullName파일이나 디렉터리의 전체 경로를 가져옵니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원LastAccessTime현재 파일이나 디렉터리에 마지막으로 액세스한 시간을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성LastAccessTimeUtc현재 파일이나 디렉터리를 마지막으로 액세스한 시간을 UTC 기준으로 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원LastWriteTime현재 파일이나 디렉터리에 마지막으로 쓴 시간을 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성LastWriteTimeUtc현재 파일이나 디렉터리에 마지막으로 쓴 시간을 UTC 기준으로 가져오거나 설정합니다. (FileSystemInfo에서 상속됨)
Public 속성XNA Framework에서 지원NameDirectoryInfo 인스턴스의 이름을 가져옵니다. (FileSystemInfo.Name을(를) 재정의함)
Public 속성XNA Framework에서 지원Parent지정된 하위 디렉터리의 부모 디렉터리를 가져옵니다.
Public 속성XNA Framework에서 지원Root디렉터리의 루트 부분을 가져옵니다.
위쪽

  이름설명
Public 메서드XNA Framework에서 지원Create()디렉터리를 만듭니다.
Public 메서드Create(DirectorySecurity) DirectorySecurity 개체를 사용하여 디렉터리를 만듭니다.
Public 메서드CreateObjRef원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원CreateSubdirectory(String)지정된 경로에 하나 이상의 하위 디렉터리를 만듭니다. 지정된 경로는 DirectoryInfo 클래스의 이 인스턴스에 대한 상대적 경로일 수 있습니다.
Public 메서드CreateSubdirectory(String, DirectorySecurity)지정된 경로에 지정된 보안을 사용하여 하나 이상의 하위 디렉터리를 만듭니다. 지정된 경로는 DirectoryInfo 클래스의 이 인스턴스에 대한 상대적 경로일 수 있습니다.
Public 메서드XNA Framework에서 지원Delete() DirectoryInfo 가 비어 있으면 이를 삭제합니다. (FileSystemInfo.Delete()을(를) 재정의함)
Public 메서드XNA Framework에서 지원Delete(Boolean)하위 디렉터리와 파일을 삭제할지 여부를 지정하여 DirectoryInfo의 이 인스턴스를 삭제합니다.
Public 메서드EnumerateDirectories()현재 디렉터리에 있는 디렉터리 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateDirectories(String)지정된 검색 패턴과 일치하는 디렉터리 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateDirectories(String, SearchOption)지정된 검색 패턴 및 하위 디렉터리 검색 옵션과 일치하는 디렉터리 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateFiles()현재 디렉터리에 있는 파일 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateFiles(String)검색 패턴과 일치하는 파일 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateFiles(String, SearchOption)지정된 검색 패턴 및 하위 디렉터리 검색 옵션과 일치하는 파일 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateFileSystemInfos()현재 디렉터리에 있는 파일 시스템 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateFileSystemInfos(String)지정된 검색 패턴과 일치하는 파일 시스템 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드EnumerateFileSystemInfos(String, SearchOption)지정된 검색 패턴 및 하위 디렉터리 검색 옵션과 일치하는 파일 시스템 정보의 열거 가능 컬렉션을 반환합니다.
Public 메서드XNA Framework에서 지원Equals(Object) 지정한 개체가 현재 개체와 같은지 여부를 확인합니다. (Object에서 상속됨)
Public 메서드GetAccessControl()현재 DirectoryInfo 개체에서 설명하는 디렉터리의 ACL(액세스 제어 목록) 항목을 캡슐화하는 DirectorySecurity 개체를 가져옵니다.
Public 메서드GetAccessControl(AccessControlSections)현재 DirectoryInfo 개체에서 설명하는 디렉터리의 지정된 ACL(액세스 제어 목록) 항목 형식을 캡슐화하는 DirectorySecurity 개체를 가져옵니다.
Public 메서드XNA Framework에서 지원GetDirectories()현재 디렉터리의 하위 디렉터리를 반환합니다.
Public 메서드XNA Framework에서 지원GetDirectories(String)주어진 검색 조건에 일치하는 현재 DirectoryInfo에 있는 디렉터리의 배열을 반환합니다.
Public 메서드GetDirectories(String, SearchOption)하위 디렉터리를 검색할지 여부를 나타내는 값을 사용하여 현재 DirectoryInfo에서 지정된 검색 조건과 일치하는 디렉터리의 배열을 반환합니다.
Public 메서드XNA Framework에서 지원GetFiles()현재 디렉터리에서 파일 목록을 반환합니다.
Public 메서드XNA Framework에서 지원GetFiles(String)현재 디렉터리에서 지정된 검색 패턴과 일치하는 파일 목록을 반환합니다.
Public 메서드GetFiles(String, SearchOption)하위 디렉터리를 검색할지 여부를 나타내는 값을 사용하여 현재 디렉터리에서 지정된 검색 패턴과 일치하는 파일 목록을 반환합니다.
Public 메서드XNA Framework에서 지원GetFileSystemInfos()디렉터리의 모든 파일과 하위 디렉터리를 나타내는 강력한 형식의 FileSystemInfo 엔트리 배열을 반환합니다.
Public 메서드XNA Framework에서 지원GetFileSystemInfos(String)지정된 검색 조건과 일치하는 파일 및 하위 디렉터리를 나타내는 강력한 형식의 FileSystemInfo 개체 배열을 검색합니다.
Public 메서드GetFileSystemInfos(String, SearchOption)지정된 검색 조건과 일치하는 파일 및 하위 디렉터리를 나타내는 FileSystemInfo 개체 배열을 검색합니다.
Public 메서드XNA Framework에서 지원GetHashCode기본 해시 함수로 작동합니다. (Object에서 상속됨)
Public 메서드GetLifetimeService이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다. (MarshalByRefObject에서 상속됨)
Public 메서드GetObjectData파일 이름 및 추가 예외 정보를 사용하여 SerializationInfo 개체를 설정합니다. (FileSystemInfo에서 상속됨)
Public 메서드XNA Framework에서 지원GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드InitializeLifetimeService이 인스턴스의 수명 정책을 제어하기 위한 수명 서비스 개체를 가져옵니다. (MarshalByRefObject에서 상속됨)
Public 메서드XNA Framework에서 지원MoveTo DirectoryInfo 인스턴스 및 해당 내용을 새 경로로 이동합니다.
Public 메서드XNA Framework에서 지원Refresh개체의 상태를 새로 고칩니다. (FileSystemInfo에서 상속됨)
Public 메서드SetAccessControl DirectorySecurity 개체에서 설명하는 ACL(액세스 제어 목록) 항목을 현재 DirectoryInfo 개체에서 설명하는 디렉터리에 적용합니다.
Public 메서드XNA Framework에서 지원ToString사용자가 통과한 원래의 경로를 반환합니다. (Object.ToString()을(를) 재정의함)
위쪽

디렉터리의 복사, 이동, 이름 바꾸기 및 삭제와 같은 일반적인 작업을 수행하는 데 DirectoryInfo 클래스를 사용할 수 있습니다.

개체를 여러 번 다시 사용해야 하는 경우에는 Directory 클래스의 해당하는 정적 메서드 대신 DirectoryInfo 인스턴스 메서드를 사용할 수 있으며, 이 메서드는 보안 검사가 필수적이지 않습니다.

참고참고

입력 문자열로 경로를 받아들이는 멤버의 경우 해당 경로는 제대로 구성되어야 합니다. 그렇지 않으면 예외가 발생합니다. 예를 들어, 경로가 정규화된 경로이지만 공백으로 시작하면 클래스의 메서드에서 경로가 트리밍되지 않습니다. 따라서 경로가 잘못되고 예외가 발생합니다. 비슷하게 경로나 경로 조합은 두 번 정규화될 수 없습니다. 예를 들어, "c:\temp c:\windows"는 대부분의 경우에 예외를 발생시킵니다. 경로 문자열이 적용되는 메서드를 사용할 경우 해당 경로가 제대로 구성되었는지 확인해야 합니다.

경로가 적용되는 멤버에서 경로는 파일이나 디렉터리를 참조할 수 있습니다. 또한 지정된 경로는 서버와 공유 이름의 상대 경로나 UNC(Universal Naming Convention) 경로를 나타낼 수 있습니다. 예를 들어, 다음과 같은 경로를 사용할 수 있습니다.

  • C#의 "c:\\MyDir\\MyFile.txt" 또는 Visual Basic의 "c:\MyDir\MyFile.txt"

  • C#의 "c:\\MyDir" 또는 Visual Basic의 "c:\MyDir"

  • C#의 "MyDir\\MySubdir" 또는 Visual Basic의 "MyDir\MySubDir"

  • C#의 "\\\\MyServer\\MyShare" 또는 Visual Basic의 "\\MyServer\MyShare"

기본적으로 모든 사용자에게 새 디렉터리에 대한 모든 읽기/쓰기 권한이 부여됩니다.

공통 I/O 작업의 목록에 대해서는, 공통적인 I/O 작업을 참고하십시오.

다음 예제에서는 DirectoryInfo 클래스의 일부 주 멤버에 대해 설명합니다.


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 the directory 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 {}
    }
}


다음 예제에서는 디렉터리와 그 내용을 복사하는 방법을 보여 줍니다.


using System;
using System.IO;

class CopyDir
{
    public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
    {
        if (source.FullName.ToLower() == target.FullName.ToLower())
        {
            return;
        }

        // Check if the target directory exists, if not, create it.
        if (Directory.Exists(target.FullName) == false)
        {
            Directory.CreateDirectory(target.FullName);
        }

        // Copy each file into it's new directory.
        foreach (FileInfo fi in source.GetFiles())
        {
            Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
            fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
        }

        // Copy each subdirectory using recursion.
        foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
        {
            DirectoryInfo nextTargetSubDir =
                target.CreateSubdirectory(diSourceSubDir.Name);
            CopyAll(diSourceSubDir, nextTargetSubDir);
        }
    }

    public static void Main()
    {
        string sourceDirectory = @"c:\sourceDirectory";
        string targetDirectory = @"c:\targetDirectory";

        DirectoryInfo diSource = new DirectoryInfo(sourceDirectory);
        DirectoryInfo diTarget = new DirectoryInfo(targetDirectory);

        CopyAll(diSource, diTarget);
    }

    // Output will vary based on the contents of the source directory.
}


.NET Framework

4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework 에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 다음을 참조하십시오. .NET Framework 시스템 요구 사항.

이 형식의 static(Visual Basic의 경우 Shared) 모든 공용 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

표시:
© 2015 Microsoft