8.6. Saber si un fichero existe
Curso: Programación en C# (2015), por Nacho Cabanes
8.6. Saber si un fichero existe
Hasta ahora, estamos intentando abrir ficheros para lectura, pero sin comprobar realmente si el fichero existe o no, lo que puede suponer que nuestro programa falle en caso de que el fichero no se encuentre donde nosotros esperamos o de que introduzcamos un nombre incorrecto.
Una primera solución es usar "File.Exists(nombre)", para comprobar si está, antes de intentar abrirlo:
?// Ejemplo_08_06a.cs // Saber si un fichero existe // Introducción a C#, por Nacho Cabanes using System; using System.IO; public class Ejemplo_08_06a { public static void Main() { StreamReader fichero; string nombre; while (true) // Interrumpimos desde dentro con "break" { Console.Write( "Nombre del fichero (\"fin\" para terminar)? "); nombre = Console.ReadLine(); if (nombre == "fin") break; if ( File.Exists(nombre) ) { fichero = File.OpenText( nombre ); Console.WriteLine("Su primera linea es: {0}", fichero.ReadLine() ); fichero.Close(); } else Console.WriteLine( "No existe!" ); } } }
Ejercicios propuestos:
Ejercicio propuesto 8.6.1: Mejora el ejercicio 8.3.4 para que compruebe antes si el fichero existe, y muestre un mensaje de aviso en caso de que no sea así.
Ejercicio propuesto 8.6.2: Mejora el ejemplo 08_06a para que no use "while (true)", sino una variable booleana de control.
Otra forma de comprobar si un fichero existe o no es usar "excepciones", con las que ya nos habíamos encontrado en el tema 3 y que veremos con más detalle en el próximo apartado.
Actualizado el: 22-03-2015 16:58