Поделиться через


Подробное рассмотрение. Анализ пути файла

Обновлен: Ноябрь 2007

При работе с файлами в приложении часто приходится ссылаться только на части пути к файлу. Например, может потребоваться вывести имя файла без пути. Можно использовать Объект My.Computer.FileSystem для выполнения задач по разбору пути файла.

Можно извлечь путь к файлу с помощью Метод My.Computer.FileSystem.GetParentPath. Можно извлечь имя файла без его пути с помощью Метод My.Computer.FileSystem.GetName.

Например, в приложении просмотра рисунков, описанном в Получение имен файлов, содержащихся в папке, вместо отображения полного пути каждого рисунка можно удалить путь и отображать только название файла. На этом занятии нужно будет заполнить список имен всех файлов в папке документов.

Bb384490.alert_note(ru-ru,VS.90).gifПримечание.

В Windows XP существуют специальные папки с именами Мои документы, Мои рисунки и Моя музыка. В Windows Vista имена этих папок не содержат слова "Мои" — они называются просто "Документы", "Рисунки" и "Музыка". Однако код, о котором идет речь в этом занятии, будет выполняться и в Windows XP, и в Windows Vista.

Практическое задание

Синтаксический анализ имен файлов

  1. В меню Файл выберите команду Создать, а затем пункт Проект.

  2. В области Шаблоны диалогового окна Создание проекта щелкните Приложение Windows.

  3. В поле Имя введите Анализ Пути Файла и нажмите кнопку OK.

    Откроется новый проект Windows Forms.

  4. Добавьте в форму элемент управления ListBox, оставив имя по умолчанию ListBox1.

  5. Добавьте элемент управления Button на форму, оставляя имя по умолчанию Button1, и измените свойство Text на Загрузить.

  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. Когда появится форма, нажмите кнопку Загрузить.

    Имя каждого файла (без пути) в папке Документы отображается в списке.

  13. Закройте приложение синтаксического анализа пути к файлу.

Сочетание имени файла и пути к папке

Если Вы хотите выполнить какие-либо действия с перечисленными файлами, такие как открытие файла, необходимо указывать как имя, так и путь к файлу. Можно использовать Метод My.Computer.FileSystem.CombinePath для объединения имени и пути к файлу. Ниже приведен пример способа отображения пути и имени файла в окне сообщения при нажатии на имя файла в списке.

Объединение имени файла и пути к папке

  1. В режиме конструктора дважды щелкните на ListBox для входа в обработчик событий SelectedIndexChanged по умолчанию.

  2. В обработчик событий ListBox1_SelectedIndexChanged добавьте следующий код. Этот код объединяет путь к папке с именем файла и отображает получившееся комбинированное имя в окне сообщения.

    MsgBox(My.Computer.FileSystem.CombinePath( _
        FilePath, Me.ListBox1.SelectedItem))
    
  3. Нажмите клавишу F5 для запуска программы.

  4. Когда появится форма, нажмите кнопку Загрузить.

  5. Щелкните на имени файла в списке.

  6. Окно сообщения отображает имя и путь к файлу.

  7. Закройте приложение.

Следующие действия

На этом занятии было показано, как проанализировать путь к файлу для отделения имени файла от пути. Мы также объяснили, как объединить путь к файлу и его имя. На следующем занятии Вы узнаете, как осуществлять запись в текстовый файл.

Следующее занятие: Запись в текстовый файл

См. также

Задачи

Получение имен файлов, содержащихся в папке

Практическое руководство. Анализ путей к файлам в Visual Basic

Основные понятия

Разработка с использованием My

Другие ресурсы

Использование файловой системы. Чтение из файлов и запись в файлы

Интерактивный учебник по Visual Basic