Подробное рассмотрение. Анализ пути файла
Обновлен: Ноябрь 2007
При работе с файлами в приложении часто приходится ссылаться только на части пути к файлу. Например, может потребоваться вывести имя файла без пути. Можно использовать Объект My.Computer.FileSystem для выполнения задач по разбору пути файла.
Можно извлечь путь к файлу с помощью Метод My.Computer.FileSystem.GetParentPath. Можно извлечь имя файла без его пути с помощью Метод My.Computer.FileSystem.GetName.
Например, в приложении просмотра рисунков, описанном в Получение имен файлов, содержащихся в папке, вместо отображения полного пути каждого рисунка можно удалить путь и отображать только название файла. На этом занятии нужно будет заполнить список имен всех файлов в папке документов.
Примечание. |
---|
В Windows XP существуют специальные папки с именами Мои документы, Мои рисунки и Моя музыка. В Windows Vista имена этих папок не содержат слова "Мои" — они называются просто "Документы", "Рисунки" и "Музыка". Однако код, о котором идет речь в этом занятии, будет выполняться и в Windows XP, и в Windows Vista. |
Практическое задание
Синтаксический анализ имен файлов
В меню Файл выберите команду Создать, а затем пункт Проект.
В области Шаблоны диалогового окна Создание проекта щелкните Приложение Windows.
В поле Имя введите Анализ Пути Файла и нажмите кнопку OK.
Откроется новый проект Windows Forms.
Добавьте в форму элемент управления ListBox, оставив имя по умолчанию ListBox1.
Добавьте элемент управления Button на форму, оставляя имя по умолчанию Button1, и измените свойство Text на Загрузить.
Щелкните на форме правой кнопкой мыши и выберите команду Просмотреть код.
Добавьте следующий код под инструкцией Public Class Form1 в верхней части файла кода. Этот код создает переменную для папки Документы.
Dim FilePath As String = _ My.Computer.FileSystem.SpecialDirectories.MyDocuments
В левом выпадающем меню (Имя класса) выберите Button1.
В правом выпадающем меню (Имя метода) выберите Click для создания обработчика событий Button1_Click.
В обработчик событий 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
Нажмите клавишу F5 для запуска программы.
Когда появится форма, нажмите кнопку Загрузить.
Имя каждого файла (без пути) в папке Документы отображается в списке.
Закройте приложение синтаксического анализа пути к файлу.
Сочетание имени файла и пути к папке
Если Вы хотите выполнить какие-либо действия с перечисленными файлами, такие как открытие файла, необходимо указывать как имя, так и путь к файлу. Можно использовать Метод My.Computer.FileSystem.CombinePath для объединения имени и пути к файлу. Ниже приведен пример способа отображения пути и имени файла в окне сообщения при нажатии на имя файла в списке.
Объединение имени файла и пути к папке
В режиме конструктора дважды щелкните на ListBox для входа в обработчик событий SelectedIndexChanged по умолчанию.
В обработчик событий ListBox1_SelectedIndexChanged добавьте следующий код. Этот код объединяет путь к папке с именем файла и отображает получившееся комбинированное имя в окне сообщения.
MsgBox(My.Computer.FileSystem.CombinePath( _ FilePath, Me.ListBox1.SelectedItem))
Нажмите клавишу F5 для запуска программы.
Когда появится форма, нажмите кнопку Загрузить.
Щелкните на имени файла в списке.
Окно сообщения отображает имя и путь к файлу.
Закройте приложение.
Следующие действия
На этом занятии было показано, как проанализировать путь к файлу для отделения имени файла от пути. Мы также объяснили, как объединить путь к файлу и его имя. На следующем занятии Вы узнаете, как осуществлять запись в текстовый файл.
Следующее занятие: Запись в текстовый файл
См. также
Задачи
Получение имен файлов, содержащихся в папке
Практическое руководство. Анализ путей к файлам в Visual Basic
Основные понятия
Разработка с использованием My
Другие ресурсы
Использование файловой системы. Чтение из файлов и запись в файлы