Cómo comprobar si un archivo existe en VB.NET - Guía completa


Aprende a verificar la existencia de archivos en VB.NET con ejemplos prácticos, manejo de errores y mejores prácticas para desarrollo profesional.

Método básico con File.Exists

' Comprobación básica de existencia de archivo
Dim rutaArchivo As String = "C:\mi_carpeta\archivo.txt"

If IO.File.Exists(rutaArchivo) Then
    MessageBox.Show("El archivo existe.")
Else
    MessageBox.Show("El archivo NO existe.")
End If


Usando variables para nombres dinámicos

Dim nombreArchivo As String = "reporte_" & DateTime.Now.ToString("yyyyMMdd") & ".txt" Dim carpetaBase As String = "C:\ReportesDiarios\" Dim rutaCompleta As String = Path.Combine(carpetaBase, nombreArchivo) If IO.File.Exists(rutaCompleta) Then MessageBox.Show($"El archivo {nombreArchivo} existe en la carpeta.") End If

Validación desde un TextBox (interfaz de usuario)

Private Sub btnVerificar_Click(sender As Object, e As EventArgs) Handles btnVerificar.Click If String.IsNullOrEmpty(txtRutaArchivo.Text) Then MessageBox.Show("Por favor, ingrese una ruta de archivo.") Return End If Dim ruta As String = txtRutaArchivo.Text.Trim() If IO.File.Exists(ruta) Then lblResultado.Text = "✓ Archivo encontrado" lblResultado.ForeColor = Color.Green Else lblResultado.Text = "✗ Archivo no encontrado" lblResultado.ForeColor = Color.Red End If End Sub

Búsqueda de archivos con patrones específicos

Dim directorio As String = "C:\MisDocumentos" Dim patronBusqueda As String = "factura_*.pdf" Dim archivosEncontrados() As String = Directory.GetFiles(directorio, patronBusqueda) If archivosEncontrados.Length > 0 Then MessageBox.Show($"Se encontraron {archivosEncontrados.Length} archivos que coinciden con el patrón.") Else MessageBox.Show("No se encontraron archivos con ese patrón.") End If

Método reusable para verificación de archivos

Public Function ArchivoExiste(ruta As String) As Boolean Try Return IO.File.Exists(ruta) Catch ex As Exception ' Manejo de errores para rutas inválidas MessageBox.Show($"Error al verificar la ruta: {ex.Message}") Return False End Try End Function ' Uso del método Dim existe As Boolean = ArchivoExiste("C:\datos\configuracion.ini")

Comentarios

  1. Excelente... y si el nombre del archivo no es un dato estatico???

    ResponderBorrar
    Respuestas
    1. ¡Excelente observación! Efectivamente, en aplicaciones reales rara vez trabajamos con rutas estáticas:

      ' Generar nombre de archivo dinámico con fecha
      Dim nombreDinamico As String = "backup_" & DateTime.Now.ToString("yyyyMMdd_HHmmss") & ".bak"
      Dim rutaDinamica As String = Path.Combine("C:\Backups", nombreDinamico)

      If IO.File.Exists(rutaDinamica) Then
      ' Archivo existe - proceder con la lógica
      End If

      Borrar

Publicar un comentario

Popular Posts