자세히 보기: 파일 경로 구문 분석

업데이트: 2007년 11월

응용 프로그램에서 파일로 작업하다 보면 파일 경로의 일부만 참조해야 하는 경우가 생깁니다. 예를 들어 경로를 제외하고 파일 이름만 표시해야 할 수 있습니다. My.Computer.FileSystem 개체를 사용하면 파일 구문 분석 작업을 수행할 수 있습니다.

My.Computer.FileSystem.GetParentPath 메서드를 사용하면 파일 경로를 검색할 수 있고, My.Computer.FileSystem.GetName 메서드를 사용하면 경로를 제외하고 파일 이름만 검색할 수 있습니다.

예를 들어 폴더에서 파일 이름 검색에서 설명한 Picture Viewer 응용 프로그램에서 각 그림의 전체 경로를 표시하는 대신 경로는 제거하고 파일 이름만 표시할 수 있습니다. 이 단원에서는 문서 폴더에 있는 모든 파일의 이름을 목록 상자에 채웁니다.

참고:

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

실습

파일 이름을 구문 분석하려면

  1. 파일 메뉴에서 새프로젝트를 클릭합니다.

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

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

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

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

  5. 폼에 Button 컨트롤을 추가하고 기본 이름 Button1은 그대로 두고 Text 속성을 Load로 변경합니다.

  6. 폼을 마우스 오른쪽 단추로 클릭하고 코드 보기를 클릭합니다.

  7. 코드 파일 맨 위에 있는 Public Class Form1 문 아래에 다음 코드를 추가합니다. 이 코드는 문서 폴더의 변수를 만듭니다.

    Dim FilePath As String = _
        My.Computer.FileSystem.SpecialDirectories.MyDocuments
    
  8. 왼쪽 드롭다운 목록(클래스 이름)에서 Button1을 클릭합니다.

  9. 오른쪽 드롭다운 목록(메서드 이름)에서 Click을 클릭하여 Button1_Click 이벤트 처리기를 만듭니다.

  10. Button1_Click 이벤트 처리기에 다음 코드를 추가합니다. 이 코드는 목록 상자의 모든 항목을 지운 다음 문서 폴더의 파일을 검색하여 파일 이름을 목록 상자에 추가합니다. 이 코드에서는 My.Computer.FileSystem.GetName 메서드를 사용하여 폴더 경로를 제외한 파일 이름만 검색합니다.

    Dim FoundFile As String
    Dim FileName As String
    
    ' Clear the list box.
    Me.ListBox1.Items.Clear()
    
    ' Add each file in the Documents folder to list box.
    For Each FoundFile In My.Computer.FileSystem.GetFiles( _
        FilePath, FileIO.SearchOption.SearchTopLevelOnly)
    
        ' Add only the name of each found file to the list box.
        FileName = My.Computer.FileSystem.GetName(FoundFile)
        Me.ListBox1.Items.Add(FileName)
    
    Next
    
  11. F5 키를 눌러 프로그램을 실행합니다.

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

    문서 폴더에 있는 각 파일의 파일 이름(경로 제외)이 목록 상자에 나타납니다.

  13. Parse File Path 응용 프로그램을 닫습니다.

파일 이름과 폴더 경로 결합

파일을 여는 것처럼 나열된 파일에 대해 작업을 수행하려면 파일 이름과 경로 모두 필요합니다. 이 경우에는 My.Computer.FileSystem.CombinePath 메서드를 사용하여 이름을 해당 경로와 결합할 수 있습니다. 다음 예제에서는 목록 상자에서 이름을 클릭했을 때 파일의 이름과 경로를 메시지 상자에 표시하는 방법을 보여 줍니다.

파일 이름과 폴더 경로를 결합하려면

  1. 디자이너 뷰에서 ListBox를 두 번 클릭하여 기본 SelectedIndexChanged 이벤트 처리기를 입력합니다.

  2. ListBox1_SelectedIndexChanged 이벤트 처리기에 다음 코드를 추가합니다. 이 코드는 폴더 경로와 파일 이름을 결합한 후 이 이름을 메시지 상자에 표시합니다.

    MsgBox(My.Computer.FileSystem.CombinePath( _
        FilePath, Me.ListBox1.SelectedItem))
    
  3. F5 키를 눌러 프로그램을 실행합니다.

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

  5. 목록 상자에서 파일 이름을 클릭합니다.

  6. 파일의 이름과 경로가 메시지 상자에 표시됩니다.

  7. 응용 프로그램을 닫습니다.

다음 단계

이 단원에서는 파일 경로를 구문 분석하여 파일 이름을 해당 경로에서 분리하는 방법 및 경로와 파일 이름을 결합하는 방법을 배웠습니다. 다음 단원에서는 텍스트 파일에 쓰는 방법을 배웁니다.

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

참고 항목

작업

폴더에서 파일 이름 검색

방법: Visual Basic에서 파일 경로의 구문 분석

개념

My를 사용한 개발

기타 리소스

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

Visual Basic 둘러보기