내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

DirectoryInfo 클래스

2013-12-13

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

Namespace:  System.IO
어셈블리:  mscorlib(mscorlib.dll)

public sealed class DirectoryInfo : FileSystemInfo

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

  이름설명
Public 메서드DirectoryInfoDirectoryInfo 클래스의 새 인스턴스를 초기화합니다.
맨 위

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

  이름설명
Public 메서드Create디렉터리를 만듭니다.
Public 메서드CreateSubdirectory지정된 경로에 하나 이상의 하위 디렉터리를 만듭니다.
Public 메서드Delete()DirectoryInfo가 비어 있으면 이를 삭제합니다. (FileSystemInfo.Delete()을(를) 재정의함)
Public 메서드Delete(Boolean)하위 디렉터리와 파일을 삭제할지 여부를 지정하여 DirectoryInfo의 이 인스턴스를 삭제합니다.
Public 메서드Equals(Object)지정한 Object가 현재 Object와 같은지 확인합니다. (Object에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetDirectories()현재 디렉터리의 하위 디렉터리를 반환합니다.
Public 메서드GetDirectories(String)주어진 검색 기준에 일치하는 현재 DirectoryInfo에 있는 디렉터리의 배열을 반환합니다.
Public 메서드GetFiles()현재 디렉터리에서 파일 목록을 반환합니다.
Public 메서드GetFiles(String)현재 디렉터리에서 지정된 searchPattern과 일치하는 파일 목록을 반환합니다.
Public 메서드GetFileSystemInfos()디렉터리의 모든 파일과 하위 디렉터리를 나타내는 강력한 형식의 FileSystemInfo 항목 배열을 반환합니다.
Public 메서드GetFileSystemInfos(String)지정된 검색 기준과 일치하는 파일 및 하위 디렉터리를 나타내는 강력한 형식의 FileSystemInfo 개체 배열을 검색합니다.
Public 메서드GetHashCode특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드MoveToDirectoryInfo 인스턴스 및 해당 내용을 새 경로로 이동합니다.
Public 메서드Refresh개체의 상태를 새로 고칩니다. (FileSystemInfo에서 상속됨)
Public 메서드ToString사용자가 통과한 원래의 경로를 반환합니다. (Object.ToString()을(를) 재정의함)
맨 위

  이름설명
Protected 필드FullPath인프라입니다. 파일이나 디렉터리의 정규화된 경로를 나타냅니다. (FileSystemInfo에서 상속됨)
Protected 필드OriginalPath인프라입니다. 사용자가 원래 지정한 상대 또는 절대 경로입니다. (FileSystemInfo에서 상속됨)
맨 위

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

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

참고참고:

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

경로가 적용되는 멤버에서 경로는 파일이나 디렉터리를 참조할 수 있습니다.

버전 메모

Windows Phone

이 형식은 Windows Phone에서 .NET Compact Framework 인프라를 지원하기 위해 제공되며 응용프로그램 코드에서 사용되지는 않습니다.

다음 예제에서는 사용자의 내 그림 폴더에서 임의로 선택한 이미지를 표시합니다. .jpg 또는 .png 확장명을 가진 파일을 나타내는 FileInfo 개체의 열거 가능한 컬렉션을 가져오려면 DirectoryInfo 클래스를 사용합니다. 해당 컬렉션은 임의의 숫자에 해당하는 파일을 선택하는 데 인덱스를 사용할 수 있도록 List<T> 컬렉션을 구성할 수 있습니다.

이 예제에서는 FileStream 클래스를 사용하여 비트맵 이미지를 만들고, Image 컨트롤(즉, MyImage)의 소스로 설정합니다.


private void LoadImage()
{

	DirectoryInfo di = new DirectoryInfo(Environment.GetFolderPath(
		Environment.SpecialFolder.MyPictures));

	var files = from f in di.EnumerateFiles()
				where f.Extension.ToLower() == ".jpg" || 
					f.Extension == ".png"
				select f;

	int max = files.Count() + 1;

	Random rnd = new Random();
	int r = rnd.Next(0, max);

	List<FileInfo> pics = new List<FileInfo>(files);

	string randpic = pics[r].FullName;

	BitmapImage img = new BitmapImage();
	img.SetSource(new FileStream(randpic, FileMode.Open));

	MyImage.Source = img;

	
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

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

표시:
© 2015 Microsoft