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
- FileSystem
- ReadAllText
- Lectura de archivos
- Procedimiento para leer archivos de texto delimitado por comas
- Procedimiento para leer archivos de texto de ancho fijo
- Procedimiento para leer archivos de texto con varios formatos
- Solución del problema: leer y escribir en archivos de texto
- Tutorial: Manipulación de archivos y directorios en Visual Basic
- Codificaciones de archivos