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")
Excelente... y si el nombre del archivo no es un dato estatico???
ResponderBorrar¡Excelente observación! Efectivamente, en aplicaciones reales rara vez trabajamos con rutas estáticas:
Borrar' 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