La capacidad de abrir un archivo de texto y leer su contenido puede ser muy útil en tu vida de programación. Puede que tengas un archivo de texto que contenga un cuestionario preguntas y respuestas, por ejemplo. Podrías leer las preguntas y respuestas de un archivo de texto y crear su propio "¿Quién quiere ser millonario?" juego. O puede que quieras guardar algunos datos asociados a tu programa, y ...y luego lo abrirá de nuevo cuando el programa comience. Bueno, veamos cómo se abre un texto en VB .NET ahora mismo. En una sección posterior, aprenderás a guardar datos a un archivo de texto.

Cretae a StreamReader

Para abrir un archivo de texto, necesitas crear algo llamado " StreamReader ". Este, como su nombre lo indica, lee flujos de texto. El StreamReader es un objeto disponible para System.IO . (Los usuarios de Visual Studio 2015 pueden perderse el Sistema parte. Esto se aplica a todo el código de esta sección de archivos de texto). Se crea un StreamReader como este:

Dim FILE_NAME As String = "C:UsersOwnerDocumentsTest.txt"

Dim objReader como nuevo sistema.IO. StreamReader( NOMBRE_DE_ARCHIVO )

La primera línea sólo establece una variable de cadena llamada FILE_NAME. Almacenamos el la ruta y el nombre de nuestro archivo de texto dentro de la variable de la cadena:

= "C:N-Usuarios/PropietarioN-Documentos.txt"

Estamos diciendo que hay un archivo de texto llamado test que está en la ubicación "C:N".

Configuraste el StreamReader para que sea una variable, como un String o Variable entera. Pero estamos configurando esta variable de manera diferente:

Dim objReader como nuevo sistema.IO. StreamReader( NOMBRE DE ARCHIVO )

Hemos llamado a la variable objReader . Entonces, después del " As " la palabra viene " Nuevo ". Esto significa "Crear un nuevo objeto". El tipo de objeto que queremos crear es un objeto StreamReader :

System.IO.StreamReader

El sistema es el objeto principal. IO es un objeto dentro del Sistema. Y StreamReader es un objeto dentro de IO.

StreamReader necesita el nombre de un archivo para leer. Esto va entre un par de ...con corchetes redondos:

System.IO.StreamReader( FILE_NAME )

VB asignará entonces todo esto a la variable llamada objReader . Así que en lugar de asignar digamos 10 a una variable entera, estás asignando un StreamReader a una variable.

Read To End

Pero esto no te servirá de nada. Todavía no hemos abierto el archivo de texto. Acabamos de decirle a VB dónde está el archivo de texto y con qué objeto abrirlo. Tú hacer la apertura de esta manera:

TextBox1.Text = objReader. ReadToEnd

Ahora que objReader es una variable de objeto, tiene sus propias propiedades y métodos disponible para su uso (de la misma manera que el cuadro de texto tiene una propiedad de Texto).

Uno de los métodos disponibles para nuestra nueva variable StreamReader es el ReadToEnd método. Esto leerá todo el texto, hasta el final. Entonces estamos ...metiendo esto en una caja de texto.

Vamos a probar toda esta teoría. Haz lo siguiente:

  • Iniciar un nuevo proyecto
  • Añade un cuadro de texto a tu nuevo formulario, y déjalo en el nombre por defecto de Cuadro de texto1
  • Establezca su propiedad MultiLine en True
  • Añade un botón a tu formulario
  • Haga doble clic en el botón y añada el siguiente código para ello:

Dim FILE_NAME As String = "C:UsersOwnerDocumentsTest.txt"

Dim objReader como nuevo sistema.IO. StreamReader( NOMBRE_DE_ARCHIVO )

TextBox1.Text = objReader. ReadToEnd

objReader. Close()

La última línea cierra el StreamReader que hemos instalado. Tienes que cerrar el stream objetos después de usarlos, de lo contrario recibirá mensajes de error.

Cuando termines, ejecuta tu programa y pulsa el botón.

A menos que ya tengas un archivo llamado test.txt en la ubicación especificada... obtener este mensaje de error que aparece como este: (Puedes ver este mensaje de error en un formato diferente, dependiendo de la versión de Visual Studio que tengas.)

Cómo abrir un archivo de texto en VB .NET

La última línea lo explica claramente: No pude encontrar el archivo "C:N-Documentos de los usuarios.txt". Así que estábamos tratando de leer un archivo de texto que no existe.

No más lectura de estas lecciones en línea - ¡consigue el eBook aquí!

¿Existe el archivo?

Sin embargo, puedes hacer una prueba para ver si el archivo existe. Si existe, puedes abrirlo; si no, puedes mostrar un mensaje de error. Modifica tu código para esto (las nuevas líneas están en negrita):

Dim FILE_NAME As String = "C:UsersOwnerDocumentsTest.txt"

Si System.IO.File.Exists(FILE_NAME) = True Then

Dim objReader As New System.IO.StreamReader(FILE_NAME)
TextBox1.Text = objReader.ReadToEnd
objReader.Close()

Else

MessageBox.Show("El archivo no existe")

Finalizar si...

Ahora hemos envuelto nuestro código en una declaración de "Si". La primera línea del Si La declaración es esta:

Si System.IO. Archivo.Existe( NOMBRE_DE_ARCHIVO ) = Verdadero Entonces

Esto prueba si existe o no un archivo. De nuevo, se empieza con System.IO . Luego se accede a otro objeto de System.IO - el objeto File . Este tiene existe un método llamado . Entre los paréntesis redondos, se escribe el nombre (o variable) del archivo que quieres comprobar. El valor devuelto será ser Verdadero (si existe), o Falso (si no existe).

Si el archivo existe, entonces podemos seguir adelante y crear nuestro StreamReader; si no existe, podemos mostrar un mensaje de error para el usuario.

Para que su programa funcione, hay un archivo abajo llamado "test.txt". Descárguelo a su ordenador y guárdelo en su carpeta de Documentos. (A la derecha haga clic en el archivo y seleccione Guardar destino como (IE), o Guardar enlace como (Firefox):

Descargue el archivo de texto "test.txt". aquí

Cuando lo hayas hecho, vuelve a ejecutar tu programa. Haz clic en el botón una vez más, y deberías ver el texto de tu archivo aparecer en el cuadro de texto. (Si obtienes el mensaje de error otra vez, significa que no has copiado el archivo en el lugar correcto.)

En la siguiente parte, veremos cómo leer el contenido línea por línea, en cambio de una sola vez.

Aprende a leer un archivo de texto línea por línea -- >

Espero que te haya sido de ayuda!

Recomendado para ti