다음을 통해 공유


폴더에서 파일 이름 검색

업데이트: 2007년 11월

이 단원에서는 My.Computer.FileSystem 개체를 사용하여 폴더에서 파일 이름을 검색하는 방법을 배웁니다.

Microsoft Windows에서 폴더는 파일을 저장할 수 있는 영역입니다. Microsoft Windows에는 파일을 문서, 그림, 음악 파일 등의 범주로 구성하는 데 도움이 되는 몇 가지 특수한 폴더가 있습니다.

참고:

Windows XP에서는 이러한 폴더 이름이 내 문서, 내 그림 및 내 음악입니다. Windows Vista에서는 이들 폴더 이름이 "내"라는 단어가 삭제되어 각각 문서, 그림 및 음악으로 바뀌었습니다. 두 Windows 버전에서는 폴더 이름이 서로 다르지만 이 단원에 제공되는 코드는 Windows XP 및 Windows Vista에 공통으로 사용할 수 있습니다.

이 단원에서는 그림 폴더에 있는 그림 파일을 볼 수 있는 Picture Viewer 응용 프로그램을 만듭니다. ListBox에서 항목을 선택하면 해당 그래픽이 PictureBox 컨트롤에 표시됩니다.

파일 가져오기

My.Computer.FileSystem.FileExists 메서드를 사용하고 폴더 경로와 파일 이름을 지정하면 특정 파일이 존재하는지 여부를 확인할 수 있습니다.

폴더에 있는 모든 파일의 이름을 검색하려면 My 개체를 사용하여 특정 폴더에 있는 모든 파일의 컬렉션을 가져올 수 있습니다. 또한 특정 패턴을 지정하여 고유한 이름의 파일을 찾을 수도 있습니다.

My.Computer.FileSystem.GetFiles 메서드를 사용하면 지정한 폴더에 있는 파일을 반환할 수 있습니다. 이때 선택적 요소로 와일드카드 목록을 전달하여 반환하려는 파일의 패턴을 지정할 수 있습니다. 예를 들어 반환할 파일의 확장명을 .gif(*.gif*)로 지정하면 모든 GIF(Graphics Interchange Format) 이미지 파일의 이름을 검색할 수 있습니다. 다른 확장명(*.jpg*)을 지정한 후 확장명 사이를 쉼표로 구분하여 JPEG(Joint Photographic Experts Group) 같은 다른 그래픽 형식을 여러 개 추가할 수도 있습니다.

My.Computer.FileSystem.SpecialDirectories 개체를 사용하면 그림 같은 특수한 폴더를 지정할 수 있습니다. 이렇게 하면 각 파일의 이름이 전체 경로와 함께 반환됩니다. 그런 다음 반환된 파일 이름을 반복하여 각 파일 이름을 ListBox에 추가할 수 있습니다.

실습

응용 프로그램의 UI(사용자 인터페이스)를 만들려면

  1. 파일 메뉴에서 새로 만들기, 프로젝트를 차례로 클릭합니다.

  2. 새 프로젝트 대화 상자의 템플릿 창에서 Windows 응용 프로그램을 클릭합니다.

  3. 이름 상자에 Picture Viewer를 입력한 다음 확인을 클릭합니다.

    새 Windows Forms 프로젝트가 열립니다.

  4. 폼을 클릭하고 속성 창에서 다음 속성을 변경합니다.

    속성

    Text

    Picture Viewer

    Size

    400, 472

  5. 폼에 ListBox 컨트롤을 추가하고 기본 이름 ListBox1을 그대로 적용합니다.

  6. ListBox를 클릭하고 속성을 다음과 같이 변경합니다.

    속성

    HorizontalScrollBar

    True

    Size

    370, 82

  7. 폼에 PictureBox 컨트롤을 추가하고 기본 이름 PictureBox1을 그대로 적용합니다.

  8. PictureBox를 클릭하고 속성을 다음과 같이 변경합니다.

    속성

    BorderStyle

    FixedSingle

    SizeMode

    StretchImage

    Size

    370, 285

  9. 폼에 Button 컨트롤을 추가합니다.

  10. Button의 속성을 다음과 같이 변경합니다.

    속성

    Name

    LoadPictures

    Text

    Load Pictures

    Size

    80, 23

Picture Viewer의 UI를 만들었으면 파일 이름을 검색하는 코드를 작성할 수 있습니다.

파일 이름을 검색하려면

  1. Load Pictures 단추를 두 번 클릭하여 코드 편집기에 기본 이벤트 처리기를 입력합니다.

  2. LoadPictures_Click 이벤트 처리기에 다음 코드를 추가하여 그림 폴더에서 모든 GIF 및 JPEG 파일을 검색하여 해당 파일 이름을 목록 상자에 표시합니다. 이 코드에서는 SearchTopLevelOnly 검색 옵션을 사용하여 그림 폴더의 하위 폴더에서는 검색하지 않도록 지정합니다.

    ' Clear the list box and the picture box.
    Me.ListBox1.Items.Clear()
    Me.PictureBox1.ImageLocation = ""
    
    ' Add each image in the Pictures directory to list box.
    For Each foundImage As String In _
        My.Computer.FileSystem.GetFiles( _
        My.Computer.FileSystem.SpecialDirectories.MyPictures, _
        FileIO.SearchOption.SearchTopLevelOnly, "*.gif*", "*.jpg*")
    
        Me.ListBox1.Items.Add(foundImage)
    Next
    
  3. 그림 폴더에 이미지가 하나도 없는 경우 사용자에게 메시지 상자를 표시하는 다음 코드를 추가합니다.

    If Me.ListBox1.Items.Count < 1 Then
        MsgBox("There are no JPEG or GIF images in" _
        & " the Picture folder.")
    End If
    
  4. F5 키를 눌러 프로그램을 실행합니다.

  5. 폼이 나타나면 Load Pictures 단추를 클릭합니다.

    그림 디렉터리에 있는 각 GIF 또는 JPEG 파일의 이름과 경로가 목록 상자에 표시됩니다.

  6. Picture Viewer 응용 프로그램을 닫습니다.

이 예제의 경우 그림 디렉터리에 있는 파일의 경로가 길기 때문에 오른쪽으로 스크롤해야 실제 파일 이름을 볼 수 있습니다. 원할 경우 폴더 경로와 파일 이름을 분리하여 각 문자열을 구문 분석할 수 있습니다. 자세한 내용은 자세히 보기: 파일 경로 구문 분석을 참조하십시오.

그림 표시

파일 이름을 목록 상자에 추가할 때 각 그림을 미리 볼 수도 있다면 더 좋을 것입니다. 이 절차에서는 ListBox1의 SelectedIndexChanged 이벤트 처리기에 코드를 작성하여 선택한 그림을 PictureBox에 표시합니다.

그림을 보려면

  1. 코드 편집기의 클래스 이름 드롭다운 목록에서 ListBox1을 클릭합니다.

  2. 메서드 이름 드롭다운 목록에서 SelectedIndexChanged를 클릭하여 이벤트 처리기를 만듭니다.

  3. ListBox1_SelectedIndexChanged 이벤트 처리기에 선택한 그림을 표시하는 다음 코드를 추가합니다.

    Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
    
  4. F5 키를 눌러 프로그램을 실행합니다.

  5. 단추를 클릭하여 그림 디렉터리에서 파일을 로드한 다음 목록 상자에서 파일 이름을 클릭합니다. 목록에서 항목을 클릭할 때마다 새 그림이 나타납니다.

  6. Picture Viewer 응용 프로그램을 닫고 프로젝트를 저장합니다. 이 프로젝트는 다음 단원에서 사용합니다.

다음 단계

이 단원에서는 폴더에서 파일 이름을 검색하여 Windows Form에 표시하는 방법을 배웠습니다. 다음 단원에서는 파일 이름을 텍스트 파일에 저장하는 방법을 배웁니다. 파일 이름을 구문 분석하는 자세한 방법은 자세히 보기: 파일 경로 구문 분석에서 배울 수 있습니다.

다음 단원: 텍스트 파일에 쓰기

참고 항목

개념

My를 사용한 개발

기타 리소스

파일 시스템 사용: 파일에 쓰기 및 파일에서 읽어오기

Visual Basic 둘러보기