none
sustituir la primera linea de un archivo txt

    Pregunta

  • Hola muy buenas a todo bueno la ayuda es tal cual lo dice el titulo quisiera sustituir lo que esta escrito en la primera linea de un archivo txt de antemano muchas gracias...
    sábado, 11 de marzo de 2017 18:21

Respuestas

  • Hola Kenlight33,

    Puedes hacer uso de la clase File y mediante su función ReadAllLines obtienes un arreglo de String con el contenido de todas las líneas, luego cambias el valor de la posición 0 el cual representa a la primera línea, y por último usarías el método WriteAllLines para guardar el nuevo contenido en el file.

    Try
    
        Dim miRuta As String = "miRuta...\archivo.txt"
        Dim nuevaLinea1 As String = "Algún valor"
    
        'Obtenemos las líneas
        Dim lineas As String() = File.ReadAllLines(miRuta)
    
        If lineas.Length > 0 Then  'Validamos que tenga por lo menos un valor
            'Cambiamos el valor de la primera línea (posición 0 en el arreglo)
            lineas(0) = nuevaLinea1
    
            'Guardamos los datos con la modificación
            File.WriteAllLines(miRuta, lineas)
    
            MessageBox.Show("Archido modificado!")
        End If
    
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    sábado, 11 de marzo de 2017 18:37

Todas las respuestas

  • Hola Kenlight33,

    Puedes hacer uso de la clase File y mediante su función ReadAllLines obtienes un arreglo de String con el contenido de todas las líneas, luego cambias el valor de la posición 0 el cual representa a la primera línea, y por último usarías el método WriteAllLines para guardar el nuevo contenido en el file.

    Try
    
        Dim miRuta As String = "miRuta...\archivo.txt"
        Dim nuevaLinea1 As String = "Algún valor"
    
        'Obtenemos las líneas
        Dim lineas As String() = File.ReadAllLines(miRuta)
    
        If lineas.Length > 0 Then  'Validamos que tenga por lo menos un valor
            'Cambiamos el valor de la primera línea (posición 0 en el arreglo)
            lineas(0) = nuevaLinea1
    
            'Guardamos los datos con la modificación
            File.WriteAllLines(miRuta, lineas)
    
            MessageBox.Show("Archido modificado!")
        End If
    
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    sábado, 11 de marzo de 2017 18:37
  • Gracias amigo quedo excelente...
    sábado, 11 de marzo de 2017 19:01
  • hola otra vez amigo vea yo habia intentado usar este metodo pero no se que pasa que siempre quedan los ultimos 3 caracteres de la linea a sustituir por eso la descarte a ver si me dice que hay de malo en este metodo

    Dim varREP_DATO = New ADODB.Stream
    With varREP_DATO
    .Charset = "iso-8859-1"
    .Open()
    .LoadFromFile(My.Application.Info.DirectoryPath & "\Carpeta\" & varNOM_ARCH)
    .Position = 0
    .WriteText("la linea que voy a cambiar")
    .SaveToFile(My.Application.Info.DirectoryPath & "\Carpeta\" & varNOM_ARCH, ADODB.SaveOptionsEnum.adSaveCreateOverWrite)
    .Close()
    End With

    sábado, 11 de marzo de 2017 19:09