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


Метод My.Computer.FileSystem.FindInFiles

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

Возвращает коллекцию строк только для чтения, представляющих имена файлов и содержащих указанный текст.

' Usage
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.FindInFiles(directory ,containsText ,ignoreCase ,searchType)
Dim value As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = My.Computer.FileSystem.FindInFiles(directory ,containsText ,ignoreCase ,searchType ,fileWildcards)
' Declaration
Public Function FindInFiles( _
   ByVal directory As String, _
   ByVal containsText As String, _
   ByVal ignoreCase As Boolean, _
   ByVal searchType As SearchOption _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
' -or-
Public Function FindInFiles( _
   ByVal directory As String, _
   ByVal containsText As String, _
   ByVal ignoreCase As Boolean, _
   ByVal searchType As SearchOption, _
   ByVal fileWildcards As String() _
) As System.Collections.ObjectModel.ReadOnlyCollection(Of String)

Параметры

  • Directory
    String. Каталог, в котором необходимо выполнить поиск. Обязательно.

  • containsText
    String. Текст, поиск которого необходимо выполнить. Обязательно.

  • ignoreCase
    Boolean. Указывает, необходимо ли при поиске учитывать регистр. По умолчанию используется значение True. Обязательно.

  • searchType
    Перечисление SearchOption. Следует ли включать вложенные папки. По умолчанию используется значение SearchOption.SearchTopLevelOnly. Обязательно.

  • fileWildcards
    Массив типа String. Шаблон для сравнения. Обязательно.

Возвращаемое значение

Коллекция только для чтения, тип которой String.

Исключения

Исключение может появиться при следующих условиях.

  • Путь является недопустимым по одной из следующих причин: это строка нулевой длины; она содержит только пробелы; она содержит недопустимые знаки; это путь устройства (начинается с \\.\) (ArgumentException).

  • Путь не является допустимым, поскольку он равен Nothing (ArgumentNullException).

  • Параметр directory не существует (DirectoryNotFoundException).

  • Параметр directory указывает на существующий файл (IOException).

  • Длина пути превышает максимальную длину, определенную в системе (PathTooLongException).

  • Имя файла или каталога в пути содержит двоеточие (:) или имеет недопустимый формат (NotSupportedException).

  • У пользователя отсутствуют необходимые разрешения на просмотр пути (SecurityException).

  • У пользователя нет необходимых разрешений (UnauthorizedAccessException).

Заметки

Пустая коллекция возвращается, если файлы, соответствующие заданному шаблону, не найдены.

Задачи

В приведенной ниже таблице показаны примеры задач, в которых используется метод My.Computer.FileSystem.FindInFiles.

To

см. в разделе

Поиск в каталоге файлов, содержащих определенную строку

Пошаговое руководство. Операции с файлами и каталогами в Visual Basic

Пример

В этом примере производится поиск в каталоге C:\TestDir для всех файлов, содержащих строку "sample string" и результаты отображаются в ListBox1.

Dim list As System.Collections.ObjectModel.ReadOnlyCollection _
(Of String)
list = My.Computer.FileSystem.FindInFiles("C:\TestDir", _
 "sample string", True, FileIO.SearchOption.SearchTopLevelOnly)
For Each name As String In list
    ListBox1.Items.Add(name)
Next

Для того, чтобы пример работал, проект должен содержать ListBox с именем ListBox1.

Требования

Пространство имен:Microsoft.VisualBasic.MyServices

Класс:FileSystemProxy (предоставляет доступ к FileSystem)

Сборка: библиотека времени выполнения Visual Basic (в Microsoft.VisualBasic.dll)

Доступность по типу проекта

Тип проекта

Доступность

Приложение Windows

Да

Библиотека классов

Да

Консольное приложение

Да

Библиотека элементов управления Windows

Да

Библиотека веб-элементов управления

Да

Служба Windows

Да

Веб-узел

Да

Разрешения

Могут потребоваться следующие разрешения:

Разрешение

Описание

FileIOPermission

Определяет возможность доступа к файлам и папкам. Связанное перечисление: Unrestricted.

Дополнительные сведения см. в разделах Управление доступом для кода и Запрос разрешений.

См. также

Задачи

Пошаговое руководство. Операции с файлами и каталогами в Visual Basic

Ссылки

Объект My.Computer.FileSystem

Перечисление SearchOption

System.Collections.ObjectModel.ReadOnlyCollection<T>

FileSystem.FindInFiles