내보내기(0) 인쇄
모두 확장

Directory.GetFiles 메서드 (String, String)

지정된 디렉터리에서 지정된 검색 패턴과 일치하는 파일 이름을 반환합니다.

네임스페이스: System.IO
어셈블리: mscorlib(mscorlib.dll)

public static string[] GetFiles (
	string path,
	string searchPattern
)
public static String[] GetFiles (
	String path, 
	String searchPattern
)
public static function GetFiles (
	path : String, 
	searchPattern : String
) : String[]

매개 변수

path

검색할 디렉터리입니다.

searchPattern

path에 있는 파일 이름과 일치하는지 비교할 검색 문자열입니다. 매개 변수는 마침표 두 개("..")로 끝나거나 마침표 두 개("..")로 시작하는 DirectorySeparatorChar 또는 AltDirectorySeparatorChar를 포함할 수 없으며 InvalidPathChars에 있는 모든 문자를 포함할 수 없습니다.

반환 값

지정된 디렉터리에서 지정된 검색 패턴과 일치하는 파일 이름을 포함하는 String 배열입니다. 파일 이름에는 전체 경로가 포함됩니다.

예외 형식조건

UnauthorizedAccessException

호출자에게 필요한 권한이 없는 경우

ArgumentException

path가 길이가 0인 문자열이거나, 공백만 포함하거나 또는 InvalidPathChars로 정의된 하나 이상의 잘못된 문자를 포함하는 경우

- 또는 -

searchPattern이 유효한 패턴을 포함하지 않는 경우

ArgumentNullException

path 또는 searchPattern이 Null 참조(Visual Basic의 경우 Nothing)인 경우

PathTooLongException

지정된 경로 또는 파일 이름이 시스템에 정의된 최대 길이를 초과하는 경우 예를 들어, Windows 기반 플랫폼에서는 경로에 248자 미만의 문자를 사용해야 하며 파일 이름에는 260자 미만의 문자를 사용해야 합니다.

DirectoryNotFoundException

지정된 경로가 잘못된 경우(예: 매핑되지 않은 드라이브의 경로를 지정한 경우)

파일 이름에는 전체 경로가 포함됩니다.

searchPattern에서 다음 와일드카드 한정자를 사용할 수 있습니다.

와일드카드 문자

설명

*

0개 이상의 문자

?

한 문자

와일드카드 한정자가 아닌 문자는 해당 문자 자체를 나타냅니다. 예를 들어, "*t" searchPattern 문자열은 path에서 "t"자로 끝나는 모든 이름을 검색합니다. "s*" searchPattern 문자열은 path에서 "s"자로 시작하는 모든 이름을 검색합니다.

searchPattern의 일치 동작은 확장명이 정확히 3자인 경우와 3자를 넘는 경우 간에 서로 다릅니다. 정확히 3자인 경우 searchPattern은 3자 이상의 확장명을 가진 파일을 반환합니다. 하나, 둘 또는 셋 이상의 문자에 대한 searchPattern은 정확히 그 길이의 확장명을 가진 파일만 반환합니다.

Note참고

별표를 사용하는 검색 패턴은 끝에 와일드카드를 사용하여 모든 확장명을 찾지만 물음표를 사용하는 검색 패턴은 와일드카드를 사용하지 않습니다. 예를 들어, 디렉터리에 file1.txt와 file1.txtother라는 파일 두 개가 있는 경우 "file?.txt" 검색 패턴은 첫 번째 파일만 반환하고 "file*.txt" 검색 패턴은 두 파일을 모두 반환합니다.

다음 목록에서는 길이가 다른 searchPattern 매개 변수의 동작을 보여 줍니다.

  • "*.abc*"는 확장명이 .abc, .abcd, .abcde, .abcdef 등과 같은 파일을 반환합니다.

  • "*.abcd"는 확장명이 .abcd인 파일만 반환합니다.

  • "*.abcde"는 확장명이 .abcde인 파일만 반환합니다.

  • "*.abcdef"는 확장명이 .abcdef인 파일만 반환합니다.

path 매개 변수에는 상대 경로나 절대 경로 정보를 지정할 수 있습니다. 상대 경로 정보는 현재 작업 디렉터리에 상대적으로 해석됩니다. 현재 작업 디렉터리를 얻는 방법에 대해서는 GetCurrentDirectory를 참조하십시오.

path 매개 변수는 대/소문자를 구분하지 않습니다.

다음 표에서는 일반적인 예 또는 관련된 I/O 작업의 예를 보여 줍니다.

수행 작업

참조 항목

텍스트 파일을 만듭니다.

방법: 파일에 텍스트 쓰기

텍스트 파일에 씁니다.

방법: 파일에 텍스트 쓰기

텍스트 파일에서 읽습니다.

방법: 파일의 텍스트 읽기

디렉터리 이름을 바꾸거나 이동합니다.

Directory.Move

DirectoryInfo.MoveTo

파일 이름을 바꾸거나 이동합니다.

File.Move

FileInfo.MoveTo

디렉터리를 삭제합니다.

Directory.Delete

DirectoryInfo.Delete

디렉터리를 만듭니다.

CreateDirectory

Directory

하위 디렉터리를 만듭니다.

CreateSubdirectory

디렉터리의 파일을 참조하십시오.

Name

디렉터리의 하위 디렉터리를 참조하십시오.

GetDirectories

GetDirectories

디렉터리의 전체 하위 디렉터리에 있는 모든 파일을 참조하십시오.

GetFileSystemInfos

디렉터리의 크기를 찾습니다.

Directory

파일이 있는지 여부를 확인합니다.

Exists

디렉터리가 있는지 여부를 확인합니다.

Exists

파일 특성을 가져옵니다.

GetAttributes

파일 특성을 설정합니다.

SetAttributes

다음 코드 예제에서는 지정된 문자로 시작하는 파일의 수를 셉니다.

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            // Only get files that begin with the letter "c."
            string[] dirs = Directory.GetFiles(@"c:\", "c*");
            Console.WriteLine("The number of files starting with c is {0}.", dirs.Length);
            foreach (string dir in dirs) 
            {
                Console.WriteLine(dir);
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}

import System.*;
import System.IO.*;

class Test
{
    public static void main(String[] args)
    {
        try {
            // Only get files that begin with the letter "c."
            String dirs[] = Directory.GetFiles("c:\\", "c*");

            Console.WriteLine("The number of files starting with c is {0}.",
                (Int32)dirs.length);
            String dir = "";
            for ( int iCtr=0; iCtr < dirs.length ; iCtr++ ) {
                dir = dirs[iCtr];
                Console.WriteLine(dir);
            }
        }
        catch (System.Exception e) {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    } //main
} //Test

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft