Como sobreescribir un txt en visual basic .net

Iniciado por arts, 27 Mayo 2013, 17:26 PM

0 Miembros y 1 Visitante están viendo este tema.

arts

Muy buenas a todos. Quería saber como modificar una línea de un txt en visual basic .net. Hasta ahora logro guardar los datos de mis cajas de texto en un array, ese array está por líneas y mando la linea a una función que se coloca en el archivo o eso creo sobre la línea a modificar sobre la cual según tengo entendido debería sobreescribir dicha línea. Sin embargo me lo escribe al final del txt y no sobre la línea que le paso.

Linea_ac es la linea que quiero cambiar.


Private Sub Sobreescribir_linea_en_Archivo(ByVal linea_ac As Short)

       Using ARCHIVO As New System.IO.StreamWriter("F:\alumnos.txt", True) 'cambiar la ruta si es necesario
           For J = 0 To 8
               If J = 8 Then
                   ARCHIVO.Write(TB_A(linea_ac, J))
               Else
                   ARCHIVO.Write(TB_A(linea_ac, J) & ";")
               End If
           Next
       End Using

   End Sub


A ver si alguien me dice que me falta o como arreglar esto ;)

Eleкtro

#1
Aquí tienes mi versión:

Código (vbnet) [Seleccionar]
#Region " Replace TextFile Line "

    ' [ Replace TextFile Line Function ]
    '
    ' // By Elektro H@cker
    '
    ' Examples :
    ' Replace_TextFile_Line("C:\File.txt", 1, "Hello world!")
    ' Replace_TextFile_Line("C:\File.txt", 3, True)
    ' If Replace_TextFile_Line("C:\File.txt", 5, "Elektro H@cker") Then ...

    Private Function Replace_TextFile_Line(ByVal Text_File As String, _
                                           ByVal Line_Number As Int64, _
                                           ByVal New_Text As Object) As Boolean

        Line_Number -= 1 : If Line_Number < 0 _
        Then Throw New Exception("Line Number can't be a negative value")

        Try
            Dim Lines_Array() As String = IO.File.ReadAllLines(Text_File)
            Lines_Array(Line_Number) = New_Text
            IO.File.WriteAllLines(Text_File, Lines_Array)
            Return True
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try

    End Function

#End Region


Saludos.