Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#을 활용한 디렉터리 파일 검색 방법 완벽 가이드

C#으로 디렉터리 내 파일 검색하기

C#에서는 DirectoryInfo 클래스를 활용하면 특정 디렉터리에 있는 파일 목록을 손쉽게 검색하고, 각 파일의 이름과 크기 등의 정보를 확인할 수 있습니다. 이번 글에서는 실제 예제 코드를 통해 파일 검색 과정을 단계별로 살펴보겠습니다.

전체 예제 코드

디렉터리의 파일 목록을 검색하려면 다음과 같은 코드를 실행해 보세요.

using System;
using System.IO;

namespace Demo {
    class Program {
        static void Main(string[] args) {
            // DirectoryInfo 객체 생성
            DirectoryInfo mydir = new DirectoryInfo(@"d:\amit");

            // 디렉터리 내 파일 목록 가져오기 (이름과 크기 포함)
            FileInfo[] f = mydir.GetFiles();

            foreach (FileInfo file in f) {
                Console.WriteLine("File Name: {0} Size: {1}", file.Name, file.Length);
            }
            Console.ReadKey();
        }
    }
}

코드 설명

먼저, 검색할 대상 디렉터리 경로를 지정하여 DirectoryInfo 객체를 생성합니다. 문자열 앞에 붙은 @ 기호는 이스케이프 문자 처리를 생략하여 경로를 그대로 사용할 수 있게 해줍니다.

DirectoryInfo mydir = new DirectoryInfo(@"d:\amit");

다음으로 GetFiles() 메서드를 호출하면 해당 디렉터리에 있는 모든 파일 정보를 FileInfo 배열 형태로 반환받습니다. 이후 foreach 반복문을 사용해 각 파일의 이름(Name)과 크기(Length)를 콘솔에 출력합니다.

FileInfo[] f = mydir.GetFiles();

foreach (FileInfo file in f) {
    Console.WriteLine("File Name: {0} Size: {1}", file.Name, file.Length);
}

실행 결과

위 코드를 실행하면 다음과 같이 파일 이름과 크기가 출력됩니다.

File Name: Info.txt : Size: 2kb
File Name: New.html : Size: 10kb

마무리

이처럼 C#의 System.IO 네임스페이스에 포함된 DirectoryInfoFileInfo 클래스를 활용하면 별도의 복잡한 로직 없이도 디렉터리 내 파일을 간편하게 검색하고 관련 정보를 조회할 수 있습니다. 특정 확장자만 검색하고 싶다면 GetFiles("*.txt")처럼 검색 패턴을 인자로 전달하는 방법도 활용해 보세요.