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


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

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

На этом занятии вы узнаете, как извлечь имена файлов в папке с помощью Объект My.Computer.FileSystem.

Папка — это область Microsoft Windows, в которой можно хранить файлы. Microsoft Windows имеет некоторые специальные папки, которые структурируют файлы по категориям, например документы, рисунки и музыкальные файлы.

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

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

На этом занятии мы рассмотрим создание приложения для просмотра рисунков, в котором можно отображать файлы, найденные в папке "Рисунки". При выборе элемента в ListBox соответствующий рисунок отображается в элементе управления PictureBox.

Получение файлов

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

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

Для возврата файлов в указанной папке используется метод Метод My.Computer.FileSystem.GetFiles. Можно передать необязательный список подстановочных знаков, чтобы указать шаблон имен файлов, которые требуется найти. Например, можно извлечь имена всех файлов формата GIF путем указания расширения .gif (*.gif*). Можно добавить другие форматы графических файлов, например JPEG, указав расширение (*.jpg*) и разделив расширения запятой.

Можно указать специальную папку, например "Рисунки", с помощью объекта Объект My.Computer.FileSystem.SpecialDirectories. Этот объект возвращает имя каждого файла, включая полный путь. Можно просмотреть возвращенные имена файлов и добавить имя каждого файла в ListBox.

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

Создание пользовательского интерфейса приложения

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

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

  3. В окне Имя введите Программа просмотра изображений и нажмите кнопку ОК.

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

  4. Щелкните в форме и измените следующие свойства в окне Свойства.

    Свойство

    Значение

    Text

    Программа просмотра изображений

    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.

    Свойство

    Значение

    Имя

    LoadPictures

    Text

    Загрузка изображений

    Size

    80, 23

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

Извлечение имен файлов

  1. Дважды щелкните кнопку Загрузка изображений, чтобы открыть обработчик событий по умолчанию в редакторе кода.

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

    Имена файлов и путь к каждому GIF или JPEG-файлу в каталоге рисунков будут отображены в списке.

  6. Закройте приложение для просмотра изображений.

В этом примере путь к файлам в каталоге "Рисунки" имеет большую длину, и для просмотра названия текущего файла потребуется прокрутка вправо. Либо можно просмотреть каждую строку, выделяя из имени файла путь к папке. Дополнительные сведения см. в разделе Подробное рассмотрение. Анализ пути файла.

Отображение рисунков

Добавление имен файлов в список будет более интересным, если добавить возможность предварительного просмотра каждого изображения. В этом разделе мы рассмотрим написание кода в обработчике событий SelectedIndexChangedListBox1 для отображения выделенного рисунка в PictureBox.

Просмотр изображений

  1. В редакторе кода в раскрывающемся списке Имя класса выберите ListBox1.

  2. В списке Имя метода выберите SelectedIndexChanged для создания обработчика событий.

  3. В обработчике событий ListBox1_SelectedIndexChanged добавьте следующий код для отображения выбранного рисунка.

    Me.PictureBox1.ImageLocation = Me.ListBox1.SelectedItem
    
  4. Нажмите клавишу F5 для запуска программы.

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

  6. Закройте приложение для просмотра рисунков и сохраните проект. Этот проект будет использоваться на следующем занятии.

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

На этом занятии вы узнали, как извлечь имена файлов из папки и отобразить их в форме Windows Forms. На следующем занятии вы узнаете способ сохранения имен файлов в текстовый файл. Дополнительные сведения об обработке имен файлов см. в разделе Подробное рассмотрение. Анализ пути файла.

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

См. также

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

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

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

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

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