Programa C# para buscar subdirectorios en un directorio dado

C# es un lenguaje de programación orientado a objetos de propósito general pronunciado como «C Sharp». Es muy similar sintácticamente a Java y es fácil para los usuarios que tienen conocimientos de C, C++ o Java. En este artículo, aprenderemos cómo podemos usar C# para buscar el subdirectorio en un directorio determinado. Entonces, para esta tarea, usamos los siguientes métodos:

1. SearchOption : este método se utiliza para decirle al compilador si debe realizar nuestra búsqueda en el directorio actual o en el directorio actual con todos los subdirectorios.

Sintaxis:

public enum SearchOption

Tomará dos campos: 

  • AllDirectories: Esto se utiliza para realizar la búsqueda que contiene el directorio actual y todos sus subdirectorios en una operación de búsqueda. 
  • TopDirectoryOnly: Esto se usa para buscar solo en el directorio principal.
     

2. GetFiles: cuando necesitamos obtener los nombres de los archivos presentes en un directorio o subdirectorio, se utiliza la función GetFiles. Devuelve una array de strings que contiene los nombres de los archivos.  

Sintaxis:

public static string[] GetFiles (string path);

Donde la ruta es el directorio a buscar. Esta string no distingue entre mayúsculas y minúsculas. Aquí la ruta puede ser la ruta relativa o absoluta.
 

Acercarse:

  • Usando SearchOption encontraremos todos los archivos en un subdirectorio.
  • Luego, usando GetFiles, extraeremos todos los archivos que están presentes en el directorio y los inicializaremos en una array de strings.
  • Ahora simplemente recorra esa array de strings usando para cada ciclo.
  • Usando el operador condicional, haremos coincidir si los nombres de los archivos son iguales o no. Devuelva «sí» si se encuentra el archivo, de lo contrario «no»

Ejemplo 1:

C#

// C# code for search a subdirectory
// C: -> GFG ->
// Here only 1 file i.e Test.txt
using System;
using System.IO;
  
class GFG {
  
    static void Main()
    {
  
        // Here we search the file present in C drive
        // and GFG directory. Using SearchOption
        string[] list = Directory.GetFiles("C:\\GFG\\", "*.*",
                                           SearchOption.AllDirectories);
  
        string value = "GFG.txt"; // File to be searched
        int flag = 0;
        // Search the file names
        // Present in the A directory
        foreach(string file in list)
        {
            if (file == value) {
                flag = 1;
                break;
            }
        }
        if (flag == 1) {
            Console.WriteLine("yes");
        }
        else {
            Console.WriteLine("no");
        }
    }
}

Producción:

no

Ejemplo 2:

C#

// C# code for search subdirectory C: -> GFG ->
using System;
using System.IO;
  
class GFG {
  
    static void Main()
    {
  
        // Here we search the file present in C drive
        // and GFG directory. Using SearchOption
        string[] list = Directory.GetFiles("C:\\GFG\\", "*.*",
                                           SearchOption.AllDirectories);
  
        string value = "Test.txt"; // File to be searched
        int flag = 0;
  
        // Search the file names
        // Present in the A directory
        foreach(string file in list)
        {
            if (file == value) {
                flag = 1;
                break;
            }
        }
        if (flag == 1) {
            Console.WriteLine("yes");
        }
        else {
            Console.WriteLine("no");
        }
    }
}

Producción:

yes

Publicación traducida automáticamente

Artículo escrito por akshitsaxenaa09 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *