Ejercicio
Buscar En Archivo
Objectivo
Cree un programa para leer un archivo de texto y pida al usuario oraciones para buscar en él.
Leerá todo el archivo, lo almacenará en un ArrayList, pedirá al usuario una palabra (u oración) y mostrará todas las líneas que contienen dicha palabra. Luego pedirá otra palabra y así sucesivamente, hasta que el usuario ingrese una cadena vacía.
Ejemplo Ejercicio C#
Mostrar Código C#
// Import necessary namespaces
using System; // For basic input/output operations
using System.Collections; // For using ArrayList
using System.IO; // For file reading operations
class Program
{
// Main method to execute the program
static void Main(string[] args)
{
// ArrayList to store the lines from the file
ArrayList lines = new ArrayList();
// Specify the file path (change the path as needed)
string filePath = "textfile.txt"; // Path to the text file
// Check if the file exists before attempting to read it
if (File.Exists(filePath))
{
// Read all lines from the file and store them in the ArrayList
string[] fileLines = File.ReadAllLines(filePath); // Read all lines from the file
// Add each line from the file into the ArrayList
foreach (string line in fileLines)
{
lines.Add(line); // Store each line in the ArrayList
}
Console.WriteLine("File loaded successfully.\n");
}
else
{
Console.WriteLine("File not found. Please make sure the file exists at the specified path.");
return; // Exit the program if the file is not found
}
// Variable to store the user's search input
string searchTerm = "";
// Repeat asking for a search term until the user enters an empty string
do
{
// Prompt the user to enter a word or sentence to search for
Console.Write("Enter a word or sentence to search for (or press Enter to quit): ");
searchTerm = Console.ReadLine(); // Get the user's input
// If the input is not an empty string, search for the term
if (!string.IsNullOrEmpty(searchTerm))
{
bool found = false; // Flag to check if any lines are found
// Loop through all the lines in the ArrayList
foreach (string line in lines)
{
// Check if the current line contains the search term (case-insensitive search)
if (line.IndexOf(searchTerm, StringComparison.OrdinalIgnoreCase) >= 0)
{
// If the search term is found, display the line
Console.WriteLine(line);
found = true; // Mark that at least one match was found
}
}
// If no matching lines were found, notify the user
if (!found)
{
Console.WriteLine("No matches found for your search.");
}
}
} while (!string.IsNullOrEmpty(searchTerm)); // Continue until the user enters an empty string
// Inform the user that the program is ending
Console.WriteLine("Exiting the program...");
}
}
Salida
Assume the file textfile.txt contains the following lines:
Hello world
This is a test file
Searching is fun
C# is a powerful language
The program will first check if the file exists. If the file is found, the program will output:
File loaded successfully.
First Search:
The program finds the line that contains "Hello" and displays it:
Enter a word or sentence to search for (or press Enter to quit): Hello
Hello world
Second Search:
The program finds the line that contains "C#" and displays it:
Enter a word or sentence to search for (or press Enter to quit): C#
C# is a powerful language
The user simply presses Enter without any input, and the program exits:
Enter a word or sentence to search for (or press Enter to quit):
Exiting the program...
Código de Ejemplo Copiado!
Comparte este Ejercicio C# Sharp