none
Como eu posso sobreescrever uma determinada linha de um arquivo de texto conforme esse script ASP? RRS feed

  • Pergunta

  • Olá pessoal Feliz Natal e Bom 2008, mas como eu faço para que baseado no script asp abaixo eu só escreva ou sobreescreva apenas na linha determinada de um arquivo .txt

     

    por ex no arquivo txt eu tenho pela ordem escrito esses dados

     

    dado1 -> 1ª Linha do arquivo de texto

    dado2 -> 2ª Linha do arquivo de texto

    dado 3 -> 3ª Linha do arquivo de texto

     

    como eu faria para baseado no scrip ASP abaixo que eu só sobrescreve-se uma linha determinada do arquivo por ex. eu queria sobrescrever apenas a 3ª linha e não as duas anteriores ou queria sobreescrever apenas o dado da 2ª linha nem a anterior e nem a posterior como eu poderia fz isso baseado no script abaixo se alguem pd me ajudar desde já agradeço

     

    <%

    'Instância o objeto FSO.
    Set Fso = CreateObject("Scripting.FileSystemObject")

    'Utilizando a propriedade CreateTextFile para criar o arquivo.
    'Set Cria = Fso.CreateTextFile("c:\inetpub\wwwroot\teste\arquivo.txt",True)
    Set Cria = Fso.CreateTextFile(Server.MapPath("db/urlanuncieaqui.txt"),True)

    'Com o método WriteLine você escreve uma linha no arquivo criado acima.
    Cria.WriteLine "texto1"
    Cria.WriteLine "Anuncie Clicando Aqui!!!"

    Response.write "Arquivo criado"

    'Fecha o arquivo criado.
    Cria.Close

    'Destruíndo objetos
    Set Fso = nothing
    Set Cria = nothing
    %>

    segunda-feira, 24 de dezembro de 2007 23:55

Respostas

  • Ola Luiz,

    Infelizmente nao ha como vc substituir um texto de um arquivo, o que vc pode fazer é ler o que esta no arquivo texto, gravar numa variavel, fazer uma condição para que se a linha lida for igual ao texto que vc quer tirar, ao inves de gravar na variavel o texto que vc puxou do arquivo, vc coloca outro e grava novamente no txt, segue um exemplo pra vc.

     

    Set fso = New FileSystemObject
    Set texto = fso.OpenTextFile("c:\arquivos rafa\teste.txt")
    novalinha = "Texto para a substituir"
    Do While Not texto.AtEndOfStream
        textolinha = texto.ReadLine
        If textolinha = "dado2 -> 2ª Linha do arquivo de texto" Then
            textolinha = novalinha
        End If
        novoarq = novoarq & vbCrLf & textolinha
       
    Loop
       
    Set texto = fso.OpenTextFile("c:\arquivos rafa\teste.txt", ForWriting)

    texto.Write (novoarq)

    Espero ter ajudado, flw

    • Sugerido como Resposta Rflopes quarta-feira, 11 de agosto de 2010 20:31
    • Marcado como Resposta Harley AraujoModerator terça-feira, 28 de dezembro de 2010 15:21
    sexta-feira, 28 de dezembro de 2007 11:59