여러 유형의 파일을 효율적으로 검색
Directory.GetFiles()
방법은 간단해 보이지만 여러 파일 형식 필터를 직접 지원하지는 않습니다. 그러나 이러한 한계를 극복하기 위한 몇 가지 효과적인 전략이 존재합니다.
.NET 4.0 이상 버전의 경우 EnumerateFiles()
메서드는 LINQ의 Where()
절을 사용하여 우수한 솔루션을 제공합니다.
var files = Directory.EnumerateFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
지정된 확장자를 기준으로 열거된 파일을 우아하게 필터링합니다.
이전 .NET 버전의 경우 비슷한 접근 방식이 가능합니다.
var files = Directory.GetFiles("C:\path", "*.*", SearchOption.AllDirectories) .Where(s => s.EndsWith(".mp3") || s.EndsWith(".jpg"));
그러나 GetFiles()
는 메모리에 완전한 배열을 반환한다는 점을 기억하는 것이 중요합니다. 이로 인해 특히 광범위한 디렉터리를 처리할 때 성능 문제와 높은 메모리 소비가 발생할 수 있습니다. 따라서 최적의 효율성을 위해서는 EnumerateFiles()
을 사용하는 것이 좋습니다.
위 내용은 Directory.GetFiles() 또는 EnumerateFiles()를 사용하여 여러 파일 형식을 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!