Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El ReadAllText método del My.Computer.FileSystem objeto permite leer desde un archivo de texto. La codificación de archivos se puede especificar si el contenido del archivo usa una codificación como ASCII o UTF-8.
Si está leyendo desde un archivo con caracteres extendidos, deberá especificar la codificación de archivo.
Nota:
Para leer un archivo una sola línea de texto a la vez, use el OpenTextFileReader método del My.Computer.FileSystem objeto . El método OpenTextFileReader devuelve un objeto StreamReader. Puede usar el ReadLine método del StreamReader objeto para leer un archivo una línea a la vez. Puede probar el final del archivo mediante el EndOfStream método del StreamReader objeto .
Para leer desde un archivo de texto
Utilice el ReadAllText método del My.Computer.FileSystem objeto para leer el contenido de un archivo de texto en una cadena y proporcionar la ruta de acceso. En el ejemplo siguiente se lee el contenido de test.txt en una cadena y, a continuación, se muestra en un cuadro de mensaje.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt")
MsgBox(fileReader)
Para leer desde un archivo de texto codificado
Utilice el ReadAllText método del My.Computer.FileSystem objeto para leer el contenido de un archivo de texto en una cadena, proporcionando la ruta de acceso y el tipo de codificación de archivos. En el ejemplo siguiente se lee el contenido del archivo UTF32 test.txt en una cadena y, a continuación, se muestra en un cuadro de mensaje.
Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("test.txt",
System.Text.Encoding.UTF32)
MsgBox(fileReader)
Para leer desde un archivo de texto en un control RichTextBox
Para cargar el contenido de un archivo de texto directamente en un control RichTextBox, lea el contenido del archivo en una cadena y asígnelo a la Text propiedad de RichTextBox. En el ejemplo siguiente se muestra cómo leer un archivo de texto y cargarlo en un control RichTextBox.
' Load text file into a RichTextBox control
' Note: This assumes RichTextBox1 is a control on your form
Dim fileText As String
fileText = My.Computer.FileSystem.ReadAllText("test.txt")
' RichTextBox1.Text = fileText
Para mejorar el control de errores y la administración de rutas de acceso de archivos, puede usar el siguiente enfoque que construye una ruta de acceso de archivo adecuada y controla posibles excepciones. Este enfoque evita las rutas de unidad codificadas que pueden causar problemas en diferentes sistemas.
' Load text file into a RichTextBox control using a specific path
Try
Dim filePath As String = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "test.txt")
Dim fileText As String = My.Computer.FileSystem.ReadAllText(filePath)
' RichTextBox1.Text = fileText
Catch ex As System.IO.FileNotFoundException
MsgBox("File not found: " & ex.Message)
Catch ex As Exception
MsgBox("Error reading file: " & ex.Message)
End Try
Nota:
Al especificar rutas de acceso de archivo, evite usar rutas de acceso absolutas codificadas como "C:\temp\file.txt", ya que pueden causar problemas en los sistemas donde la letra de unidad o la estructura de directorios es diferente. En su lugar, use rutas de acceso relativas o construya rutas de acceso mediante Combine para asegurarse de que el código funciona en distintos entornos.
Programación sólida
Las condiciones siguientes pueden provocar una excepción:
La ruta de acceso no es válida por uno de los siguientes motivos: es una cadena de longitud cero, contiene solo espacios en blanco, contiene caracteres no válidos o es una ruta de acceso del 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 se produce un error de E/S (IOException).
La ruta de acceso supera la longitud máxima definida por el sistema (PathTooLongException).
Un nombre de archivo o directorio en la ruta de acceso contiene 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 carece de permisos necesarios para ver la ruta de acceso (SecurityException).
No tome decisiones sobre el contenido del archivo en función del nombre del archivo. 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 usar los datos de la aplicación. Es posible que el contenido del archivo no sea lo que se espera y que se produzcan errores en los métodos que se leen desde el archivo.
Consulte también
- FileSystem
- ReadAllText
- Lectura de archivos
- Procedimiento: Leer archivos de texto delimitado por comas
- Cómo: Leer desde archivos de texto de ancho fijo
- Cómo: Leer archivos de texto con varios formatos
- Solución de problemas: Leer y escribir en archivos de texto
- Tutorial: Manipular archivos y directorios en Visual Basic
- Codificaciones de archivos