C#의 Directory 클래스는 파일 시스템에서 디렉터리(폴더) 구조를 다루기 위해 사용되는 클래스입니다. 이 클래스는 System.IO 네임스페이스에 속해 있으며, 디렉터리를 생성하고, 이동하고, 삭제하는 등의 작업을 수행하는 다양한 정적(static) 메서드를 제공합니다.
Directory 클래스의 주요 메서드
다음은 자주 사용되는 Directory 클래스의 대표적인 메서드들입니다.
| 번호 | 메서드 및 설명 |
|---|---|
| 1 | CreateDirectory(String) 지정된 경로에 모든 디렉터리와 하위 디렉터리를 생성합니다. 중간 경로가 없는 경우 자동으로 함께 만들어 줍니다. |
| 2 | Delete(String) 지정된 경로의 빈 디렉터리를 삭제합니다. 재귀 옵션을 사용하면 하위 내용까지 한 번에 삭제할 수도 있습니다. |
| 3 | Exists(String) 주어진 경로가 실제로 존재하는 디렉터리를 가리키는지 여부를 확인합니다. 디렉터리 작업 전 유효성 검사에 유용합니다. |
| 4 | GetCreationTime(String) 디렉터리의 생성 날짜와 시간을 가져옵니다. |
| 5 | GetCurrentDirectory() 애플리케이션이 현재 작업 중인 디렉터리(작업 폴더)의 전체 경로를 반환합니다. |
| 6 | GetFiles(String) 지정된 디렉터리 내의 모든 파일 이름을 문자열 배열 형태로 반환합니다. 검색 패턴을 지정하여 특정 확장자의 파일만 필터링할 수도 있습니다. |
GetFiles() 메서드 사용 예제
이번에는 GetFiles() 메서드의 실제 사용 방법을 살펴보겠습니다. 이 메서드는 지정된 디렉터리에 있는 모든 파일 목록을 화면에 출력하는 데 활용할 수 있습니다.
예제 코드
using System;
using System.IO;
class Program {
static void Main() {
// D 드라이브 루트 디렉터리의 모든 파일 가져오기
string[] arr = Directory.GetFiles(@"D:\");
Console.WriteLine("파일 목록:");
foreach (string n in arr) {
Console.WriteLine(n);
}
}
}코드 설명
위 예제에서는 Directory.GetFiles(@"D:\")를 호출하여 D 드라이브 루트에 있는 모든 파일의 전체 경로를 문자열 배열로 받아옵니다. 그런 다음 foreach 반복문을 사용해 각 파일의 경로를 콘솔에 하나씩 출력합니다.
이처럼 Directory 클래스를 활용하면 별도의 객체 인스턴스 생성 없이 간단한 정적 메서드 호출만으로 디렉터리 관련 작업을 손쉽게 처리할 수 있습니다. 실무에서는 파일 탐색기 기능 구현, 로그 파일 정리, 배치 작업 시 폴더 관리 등 다양한 상황에서 유용하게 사용됩니다.