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

C#으로 디렉터리 내 모든 파일 목록을 가져오는 방법

C#에서 특정 디렉터리에 있는 모든 파일의 목록을 확인하려면 DirectoryInfo 클래스와 GetFiles() 메서드를 활용하면 됩니다. 이 방법은 파일 이름뿐만 아니라 파일 크기 등 다양한 정보도 함께 얻을 수 있어 매우 유용합니다.

1단계: DirectoryInfo 객체 생성

먼저 탐색할 디렉터리 경로를 지정하여 DirectoryInfo 객체를 생성합니다.

// DirectoryInfo 객체 생성
DirectoryInfo mydir = new DirectoryInfo(@"d:\amit");

2단계: GetFiles() 메서드로 파일 목록 가져오기

다음으로 GetFiles() 메서드를 호출하면 해당 디렉터리의 모든 파일 정보가 FileInfo 배열 형태로 반환됩니다.

FileInfo[] f = mydir.GetFiles();

전체 예제 코드

디렉터리 내 파일 목록과 각 파일의 크기를 출력하는 전체 코드는 다음과 같습니다.

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는 System.IO 네임스페이스에 포함된 클래스로, 디렉터리 및 하위 디렉터리에 대한 생성, 이동, 열거 등 다양한 작업을 수행할 수 있습니다. GetFiles() 메서드는 현재 디렉터리의 파일 목록을 FileInfo 배열로 반환하며, 반환된 각 FileInfo 객체에서 Name(파일 이름), Length(파일 크기, 바이트 단위) 등의 속성에 접근할 수 있습니다.

foreach 루프를 사용하면 배열에 담긴 각 파일을 순회하면서 원하는 정보를 손쉽게 출력할 수 있으며, Console.ReadKey()는 프로그램 종료 전에 사용자가 키를 누를 때까지 콘솔 창을 유지하는 역할을 합니다.