Compartir a través de


Leer en un archivo de texto

Actualización: noviembre 2007

En esta lección, obtendrá información sobre cómo leer un archivo de texto en Visual Basic con My.Computer.FileSystem (Objeto).

La lección anterior, Escribir en un archivo de texto, describe cómo agregar a la aplicación Visor de imágenes la funcionalidad que le permite guardar los nombres de sus imágenes favoritas en un archivo de texto. El paso siguiente es leer el archivo de texto. Esto le permite ver sólo sus imágenes favoritas.

Conceptos básicos de los archivos

Antes de leer un archivo de texto, hay ciertos conceptos que debe conocer. El objeto My en Visual Basic facilita trabajar con archivos. Puede leer los archivos en un equipo mediante My.Computer.FileSystem.ReadAllText (Método) de My.Computer.FileSystem (Objeto).

Los archivos de texto que contienen cadenas separadas por comas reciben el nombre de archivos de texto delimitados por comas. Cada elemento en el archivo de texto se denomina campo. Si desea leer el contenido de un archivo de texto delimitado por comas, puede usar My.Computer.FileSystem.OpenTextFieldParser (Método).

En este procedimiento, comprobará que el archivo de texto de favoritos existe en la carpeta Documentos antes de intentar cargarlo. La aplicación mostrará un mensaje a los usuarios si el archivo no existe.

Nota:

En Windows XP, hay carpetas especiales denominadas MisDocumentos, MisImágenes y MiMúsica. En Windows Vista, estas carpetas no llevan "Mi" en el nombre, sino que se denominan Documentos, Imágenes y Música. Sin embargo, el código de esta lección se puede ejecutar en Windows XP y Windows Vista.

Inténtelo.

Leer un archivo de texto delimitado por comas

  1. Abra el proyecto Visor de imágenes de la lección anterior. Si aún no lo ha finalizado, vaya a Escribir en un archivo de texto y finalice la lección antes de continuar.

  2. En el Explorador de soluciones, seleccione Form1.vb y, a continuación, en el menú Ver, haga clic en Diseñador.

  3. Agregue un control Button al formulario, al lado del botón Agregar a Favoritos.

  4. Cambie las siguientes propiedades de este botón:

    Propiedad

    Valor

    Name

    CargarFavoritos

    Text

    Cargar favoritos

    Size

    85, 23

  5. Haga doble clic en el nuevo control Button para agregar el controlador de eventos predeterminado en el editor de código.

  6. En el controlador de eventos LoadFavorites_Click, agregue el código siguiente para borrar el contenido del cuadro de lista y el cuadro de imagen. Si no borra primero el cuadro de lista, la ruta de acceso y el nombre del archivo se anexarán a la lista cada vez que haga clic en el botón Cargar favoritos.

    ' Clear the picture box and the list box.
    Me.ListBox1.Items.Clear()
    Me.PictureBox1.ImageLocation = ""
    
  7. Agregue la instrucción If siguiente para comprobar si el archivo de texto FavoritePictures existe. Si no es así, informe al usuario de que el archivo no existe.

    Dim FavoritePictures As String = _
     My.Computer.FileSystem.SpecialDirectories.MyDocuments _
     & "\FavoritePictures.txt"
    If My.Computer.FileSystem.FileExists(FavoritePictures) Then
    
        ' Add code to read text from a file.
    
    Else
        MsgBox("There is no favorites file yet. Click Load" _
          & " Pictures," & vbCrLf & "select a picture, and" _
          & " then click Add to Favorites.", MsgBoxStyle.OkOnly, _
          "Picture Viewer")
    End If
    
  8. Reemplace el comentario entre la instrucción If y la instrucción Else por el código siguiente. Este código usa el método OpenTextFieldParser para leer el contenido del archivo FavoritePictures.txt. A continuación, indica que el delimitador de texto es una coma.

    ' Open the FavoritePictures text file by using
    ' OpenTextFieldParser.
    Dim MyReader As Microsoft.VisualBasic.FileIO.TextFieldParser
    MyReader = My.Computer.FileSystem.OpenTextFieldParser( _
        FavoritePictures)
    MyReader.SetDelimiters(",")
    
  9. Debajo del código que agregó en el paso anterior, escriba el siguiente código. Este código recorre los campos en el archivo de texto y, a continuación, comprueba si cada archivo existe antes de agregarlo al control ListBox. A continuación, cierra TextFieldParser.

    ' Using a comma (,) as a delimeter, parse each field in 
    ' the text file and add it to the list box.
    Dim textFields As String() = MyReader.ReadFields()
    For Each currentField As String In textFields
       If My.Computer.FileSystem.FileExists(currentField) Then
            Me.ListBox1.Items.Add(currentField)
       End If
    Next
    
    ' Close the TextFieldParser.
    MyReader.Close()
    
  10. Presione F5 para ejecutar el código.

  11. Haga clic en el botón Cargar favoritos para cargar los archivos enumerados en el archivo FavoritePictures.txt.

  12. Haga clic en un elemento del cuadro de lista para ver la imagen en el Visor de imágenes.

Pasos siguientes

En esta lección, aprendió a leer un archivo de texto delimitado por comas y a agregar cada elemento del archivo a una lista. En la lección siguiente, aprenderá a eliminar el archivo de texto de favoritos de la carpeta Documentos.

Siguiente lección: Eliminar un archivo de texto

Vea también

Tareas

Recuperar los nombres de los archivos de una carpeta

Escribir en un archivo de texto

Otros recursos

Usar el sistema de archivos: escribir y leer en archivos

Paseo con guía por Visual Basic