ComponentPro UltimateFtp

      Search(String, Boolean, SearchConditionFileTypes, SearchCondition, FileFoundDelegate) Method

      See AlsoMembers Options: Show AllLanguage Filter: AllSend comments on this topic to ComponentPro
      Searches for files and directories that match the specified search conditions.

      Syntax

      public FileInfoCollection Search(
         string directoryPath, 
         bool recursive, 
         SearchConditionFileTypes searchFor, 
         SearchCondition searchCondition, 
         FileFoundDelegate fileFound = null
      )

      Parameters

      directoryPath
      The directory path to search. This parameter accepts wildcard masks. When specified, the search pattern extracted from this parameter is combined with the searchCondition parameter using the AND logical operator.
      recursive
      true to search for files and directories recursively; otherwise, false to search in the specified directory only.
      searchFor
      The search file types.
      searchCondition
      The search conditions to match against the files. When this parameter is a null reference, the wildcard masks extracted from the directoryPath parameter are to be used. If both are not specified, the resulting list should contain all files and subdirectories in the searching directory.
      fileFound
      A method that is called when a file matching the search condition is found.

      Return Value

      A list of found files and directories represented by FileInfoBase objects.

      Examples

      FTP Examples

      Shows how to use the Search method to search for files and directories.

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      namespace Samples
      {
          class Search
          {
              static void Main()
              {
                  // Create a new class instance. 
                  Ftp client = new Ftp();
      
                  // Connect to the FTP server. 
                  client.Connect("demo.componentpro.com");
      
                  // Authenticate. 
                  client.Authenticate("test", "test");
      
                  // ... 
       
                  // Search for files with extension .cs or .vb 
                  FileInfoCollection list = client.Search("", true, SearchConditionFileTypes.File, "*.cs;*.vb", null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files and directories with names starting with "System" 
                  list = client.Search("", true, SearchConditionFileTypes.FileOrDirectory, new NameSearchCondition("System*", SearchConditionFileTypes.FileOrDirectory), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with size > 100k 
                  list = client.Search("", true, SearchConditionFileTypes.File, SizeSearchCondition.SizeGreaterThan(100 * 1024), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with extension .cs with custom checks. 
                  list = client.Search("", true, SearchConditionFileTypes.File, new NameSearchCondition("*.cs"), myFileFound);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // ... 
       
                  // Disconnect. 
                  client.Disconnect();
              }
      
              static SearchAction myFileFound(FileInfoBase info)
              {
                  // Only add files with names starting with "Add" 
                  if (info.Name.StartsWith("Add"))
                      return SearchAction.Add;
      
                  return SearchAction.DontAdd;
              }
          }
      }

      SFTP Examples

      Shows how to use the Search method to search for files and directories.

      using System;
      using ComponentPro.IO;
      using ComponentPro.Net;
      
      ...
      
      namespace Samples
      {
          class Search
          {
              static void Main()
              {
                  // Create a new class instance. 
                  Sftp client = new Sftp();
      
                  // Connect to the SFTP server. 
                  client.Connect("demo.componentpro.com");
      
                  // Authenticate. 
                  client.Authenticate("test", "test");
      
                  // ... 
       
                  // Search for files with extension .cs or .vb 
                  FileInfoCollection list = client.Search("", true, SearchConditionFileTypes.File, "*.cs;*.vb", null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files and directories with names starting with "System" 
                  list = client.Search("", true, SearchConditionFileTypes.FileOrDirectory, new NameSearchCondition("System*", SearchConditionFileTypes.FileOrDirectory), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with size > 100k 
                  list = client.Search("", true, SearchConditionFileTypes.File, SizeSearchCondition.SizeGreaterThan(100 * 1024), null);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // Search for files with extension .cs with custom checks. 
                  list = client.Search("", true, SearchConditionFileTypes.File, new NameSearchCondition("*.cs"), myFileFound);
      
                  foreach (FileInfoBase info in list)
                  {
                      Console.WriteLine("File: " + info.FullName);
                  }
      
                  // ... 
       
                  // Disconnect. 
                  client.Disconnect();
              }
      
              static SearchAction myFileFound(FileInfoBase info)
              {
                  // Only add files with names starting with "Add" 
                  if (info.Name.StartsWith("Add"))
                      return SearchAction.Add;
      
                  return SearchAction.DontAdd;
              }
          }
      }

      ZIP Examples

      Shows how to use the Search method to search for files and directories.

      using System;
      using ComponentPro.Compression;
      using ComponentPro.IO;
      
      ...
      
      [STAThread]
      static void Main()
      {
          // Open an existing file 
          Zip zip = new Zip();
      
          zip.Open("test.zip");
      
          // Search for files with extension .cs 
          FileInfoCollection list = zip.Search("", true, SearchConditionFileTypes.File, "*.cs", null);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // Search for files and directories with names starting with "System" 
          list = zip.Search("", true, SearchConditionFileTypes.FileOrDirectory, "System*", null);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // Search for files with size > 100k 
          list = zip.Search("", true, SearchConditionFileTypes.File, SizeSearchCondition.SizeGreaterThan(100 * 1024), null);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // Search for files with extension .cs with custom checks. 
          list = zip.Search("", true, SearchConditionFileTypes.File, "*.cs", myFileFound);
      
          foreach (FileInfoBase info in list)
          {
              Console.WriteLine("File: " + info.FullName);
          }
      
          // ... 
       
          zip.Close();
      }
      
      static SearchAction myFileFound(FileInfoBase info)
      {
          // Only add files with names starting with "Add" 
          if (info.Name.StartsWith("Add"))
              return SearchAction.Cancel;
      
          return SearchAction.DontAdd;
      }

      Framework

      .NET Compact Framework.NET Compact Framework

      Supported version: 2.0, 3.5, and 3.9
      Assembly: ComponentPro.FileSystem.CF (in ComponentPro.FileSystem.CF.dll)

      .NET Framework.NET Framework

      Supported version: 2.0, 3.0, 3.5, 4.0, 4.5.x, 4.6.x and later
      Assembly: ComponentPro.FileSystem (in ComponentPro.FileSystem.dll)

      Portable Class Library for Windows Phone 8.1 and Windows 8.1 Store AppsPortable Class Library for Windows Phone 8.1 and Windows 8.1 Store Apps

      Supported version: 4.6.x and later
      Assembly: ComponentPro.FileSystem.WinPcl (in ComponentPro.FileSystem.WinPcl.dll)

      Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)Universal Windows Platform (includes Windows 10 Mobile, Windows 10 Store Apps and Windows 10 IoT)

      Supported version: 4.6.x and later
      Assembly: ComponentPro.FileSystem.Uwp (in ComponentPro.FileSystem.Uwp.dll)

      Xamarin AndroidXamarin Android

      Supported version: 2.3 and later
      Assembly: ComponentPro.FileSystem.Android (in ComponentPro.FileSystem.Android.dll)

      Xamarin MacXamarin Mac

      Supported version: 2.0.x and later
      Assembly: ComponentPro.FileSystem.Mac (in ComponentPro.FileSystem.Mac.dll)

      Xamarin iOSXamarin iOS

      Supported version: 5.1.x and later
      Assembly: ComponentPro.FileSystem.iOS (in ComponentPro.FileSystem.iOS.dll)

      See Also