Cómo: Escribir texto en archivos en Visual Basic
El método WriteAllText se puede usar para escribir texto en archivos. Si el archivo especificado no existe, se crea.
Procedimiento
Para escribir texto en un archivo
Use el método
WriteAllText
para escribir el texto en un archivo, especificando el archivo y el texto que se va a escribir. Este ejemplo escribe la línea"This is new text."
en el archivo denominadotest.txt
, anexando el texto al texto existente en el archivo.My.Computer.FileSystem.WriteAllText("C:\TestFolder1\test.txt", "This is new text to be added.", True)
Para escribir una serie de cadenas en un archivo
Recorra en iteración la colección de cadenas. Use el método
WriteAllText
para escribir el texto en un archivo, especificando el archivo de destino, la cadena que se debe agregar y estableciendoappend
enTrue
.En este ejemplo se escriben los nombres de los archivos contenidos en el directorio
Documents and Settings
enFileList.txt
, insertando un retorno de carro entre cada uno de ellos para una mejor legibilidad.For Each foundFile As String In My.Computer.FileSystem.GetFiles("C:\Documents and Settings") foundFile = foundFile & vbCrLf My.Computer.FileSystem.WriteAllText( "C:\Documents and Settings\FileList.txt", foundFile, True) Next
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, solo contiene un espacio en blanco, contiene caracteres no válidos o es una ruta de acceso de dispositivo (empieza por \\.\) (ArgumentException).
La ruta de acceso no es válida porque es
Nothing
(ArgumentNullException).File
apunta a una ruta de acceso que no existe (FileNotFoundException o DirectoryNotFoundException).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).
El usuario no tiene los permisos necesarios para ver la ruta de acceso (SecurityException).
El disco está lleno y se produce un error en la llamada a
WriteAllText
(IOException).
Si realiza una ejecución en un contexto de confianza parcial, el código podría desencadenar una excepción por falta de privilegios. Para obtener más información, vea Conceptos básicos sobre la seguridad de acceso del código.