파일 이름 패턴으로 존재하는 파일


78

나는 사용하고있다 :

File.Exists(filepath)

내가하고 싶은 것은 파일 이름의 첫 부분이 변경되기 때문에 패턴을 위해 이것을 스와핑하는 것입니다.

예 : 파일은

01_peach.xml
02_peach.xml
03_peach.xml

어떤 종류의 검색 패턴을 기반으로 파일이 존재하는지 어떻게 확인할 수 있습니까?

답변:


120

패턴으로 디렉토리 목록을 작성하여 파일을 확인할 수 있습니다.

string[] files = System.IO.Directory.GetFiles(path, "*_peach.xml", System.IO.SearchOption.TopDirectoryOnly);
if (files.Length > 0)
{
    //file exist
}

68

.net framework 4 이상을 사용하는 경우 다음을 사용할 수 있습니다. Directory.EnumerateFiles

bool exist = Directory.EnumerateFiles(path, "*_peach.xml").Any();

Directory.GetFiles전체 파일 목록을 반복하지 않기 때문에 사용하는 것보다 더 효율적일 수 있습니다 .


코드 버전은 동일하지만 숨겨져 있습니다. 패턴과 일치하는 모든 파일을 무에서 얻을 수있는 방법은 없습니다.
Kostadin

4
@Kostadin : 그가 패턴과 일치하는 모든 파일을 얻을하지 않습니다하기 전에 ...이 대답을 놓친 그는 어떤이 있다면 알고 싶어
클라우디오 레디

3.5에서 멈춘 경우 bool exist = Directory.GetFiles (path, "* _peach.xml"). Any ();
Joe Johnston

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.