파일을 가져오기 위해 C#은 Directory.GetFiles 메서드를 제공합니다.
Directory.GetFiles 지정된 검색 패턴과 일치하는 모든 파일(경로 포함)의 이름을 반환하고 선택적으로 하위 디렉터리를 검색합니다.
아래 예에서 *는 해당 위치의 0개 이상의 문자와 일치합니다.
SearchOption TopDirectoryOnly. 상위 디렉토리만 검색
SearchOption AllDirectories .모든 상위 디렉토리 및 하위 디렉토리 검색
FileInfo는 길이, 이름과 같은 파일 정보를 가져옵니다.
예시 1
static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories); foreach (string file in files) { Console.WriteLine(file); } Console.ReadLine (); }
출력
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain\TestFolderMain.txt C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1\TestFolderMain1.txt C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMain2.txt C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMainSubDirectory\TestFolderSubDirectory.txt
예시 2
static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.TopDirectoryOnly); foreach (string file in files) { Console.WriteLine(file); } Console.ReadLine (); }
출력
C:\Users\Koushik\Desktop\TestFolder\Topdirectory.txt
예시 3
static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories); foreach (string file in files) { var info = new FileInfo(file); Console.WriteLine($"{ Path.GetFileName(file) }: { info.Length } bytes"); } Console.ReadLine (); }
출력
Topdirectory.txt: 0 bytes TestFolderMain.txt: 0 bytes TestFolderMain1.txt: 10 bytes TestFolderMain2.txt: 20 bytes