Pregunta: | 52444 - SOBREESCRIBIR UN ARCHIVO |
Autor: | Dario Reyes |
HOla, tengo el siguiente problema, necesito modificar un archivo de texto de manera tal que se sobreescriban los datos ya existentes. tengo la siguiente funcion que me agrega la info al final sin problemas pero lo que yo necesito es eliminar la informacion anterior y luego anexar esta, intente creando el archivo en blanco con file.WriteAllLines y .writealltext pero no me permite ya que el archivo se encuentra en uso... agredezco cualquier cooperacion. Gracias.! Public Function cambia_Ini(ByVal id_user As String, ByVal id_server As String, ByVal id_pswd As String) As String 'Abre un archivo para escritura. Dim objEscritor As StreamWriter Dim nuevos_datos Dim ruta As String = Server.MapPath("cfg.ini") objEscritor = File.AppendText(Server.MapPath("cfg.ini")) 'Escribe en el archivo objEscritor.WriteLine("") objEscritor.WriteLine("server=" & id_server) objEscritor.WriteLine("user=" & id_user) objEscritor.WriteLine("senia=" & id_pswd) 'Cierra el archivo. objEscritor.Close() End Function |
Respuesta: | Dario reyes venegas |
Pues bien, ya encontre como solucionarlo, solo era tema de ordenar las instrucciones, adunto la funcion correjida y comentada. Public Function cambia_Ini(ByVal id_user As String, ByVal id_server As String, ByVal id_pswd As String) As String 'Abre un archivo para escritura. Dim objEscritor As StreamWriter Dim nuevos_datos() As String = {""} Dim ruta As String = Server.MapPath("cfg.ini") ' Abre el archivo, sobreescribe el contenido y lo cierra File.WriteAllText(ruta, nuevos_datos(0)) ' Vuelve a abrir el archivo para escribir los nuevos datos. objEscritor = File.AppendText(Server.MapPath("cfg.ini")) 'Escribe en el archivo objEscritor.WriteLine("server=" & id_server) objEscritor.WriteLine("user=" & id_user) objEscritor.WriteLine("senia=" & id_pswd) 'Cierra el archivo. objEscritor.Close() End Function |