Cómo: Leer archivos de texto en Visual Basic

El método ReadAllText del objeto My.Computer.FileSystem permite leer de un archivo de texto. Se puede especificar la codificación del archivo si el contenido del mismo utiliza una codificación como ASCII o UTF-8.

Si está leyendo de un archivo que incluye caracteres extendidos, deberá especificar la codificación del archivo.

Nota

Para leer una única línea de texto de un archivo a la vez, utilice el método OpenTextFileReader del objeto My.Computer.FileSystem. El método OpenTextFileReader devuelve un objeto StreamReader. Puede usar el método ReadLine del objeto StreamReader para leer de un archivo una línea a la vez. Puede buscar el final del archivo con el método EndOfStream del objeto StreamReader.

Para leer de un archivo de texto

Utilice el método ReadAllText del objeto My.Computer.FileSystem para leer el contenido de un archivo de texto en una cadena, proporcionando la ruta de acceso. El ejemplo siguiente lee el contenido del archivo test.txt, lo coloca en una cadena y, a continuación, lo muestra en un cuadro de mensaje.

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt")
MsgBox(fileReader)

Para leer de un archivo de texto que está codificado

Utilice el método ReadAllText del objeto My.Computer.FileSystem para leer el contenido de un archivo de texto en una cadena, proporcionando la ruta de acceso y el tipo de codificación del archivo. El ejemplo siguiente lee el contenido del archivo UTF32 test.txt, lo coloca en una cadena y, a continuación, lo muestra en un cuadro de mensaje.

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt",
   System.Text.Encoding.UTF32)
MsgBox(fileReader)

Programación sólida

Las condiciones siguientes pueden provocar una excepción:

  • La ruta de acceso no es válida por una de las razones siguientes: es una cadena de longitud cero, sólo contiene un espacio en blanco, contiene caracteres no válidos o es una ruta de acceso de dispositivo (ArgumentException).

  • La ruta de acceso no es válida porque es Nothing (ArgumentNullException).

  • El archivo no existe (FileNotFoundException).

  • El archivo está en uso por otro proceso o hay un error de E/S (IOException).

  • La ruta supera la longitud máxima definida por el sistema (PathTooLongException).

  • Un nombre de archivo o de directorio de la ruta de acceso contiene un signo de dos puntos (:) o tiene un formato no válido (NotSupportedException).

  • No hay suficiente memoria para escribir la cadena en el búfer (OutOfMemoryException).

  • El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).

No tome ninguna decisión sobre el contenido del archivo basándose en su nombre. Por ejemplo, es posible que el archivo Form1.vb no sea un archivo de código fuente de Visual Basic.

Compruebe todas las entradas antes de utilizar los datos en la aplicación. Puede que el contenido del archivo no sea el esperado y que los métodos que leen el archivo produzcan un error.

Vea también