none
Ler Arquivo Texto RRS feed

  • Pergunta

  • Boa tarde!

    Eu sei como ler arquivo texto: 

            Dim LerArquivo As System.IO.StreamReader
    
            'Dim fileReader As System.IO.StreamReader
            'fileReader = My.Computer.FileSystem.OpenTextFileReader("C:\\testfile.txt")
            'Dim stringReader As String
            'stringReader = fileReader.ReadLine()
    
            Try
                LerArquivo = System.IO.File.OpenText(CaminhoArquivo & NomeArquivo)
            Catch ex As Exception
                Return Nothing
            End Try
    
            Retorno = LerArquivo.ReadToEnd
            LerArquivo.Close()
    
    O problema é que o arquivo que estou lendo tem acentos, e não retorna os caracteres corretos.

    Tem alguma solução?

    Aquivo texto:

    OK: Serviço em Operação
    [STATUS]
    Versao=SP_NFE_PL_008i2
    TpAmb=2
    VerAplic=SP_NFE_PL_008i2
    CStat=107
    XMotivo=Serviço em Operação
    CUF=35
    DhRecbto=31/01/2018 15:33:31
    TMed=1
    DhRetorno=30/12/1899
    XObs=


    Retorno: OK: Servi�o em Opera��o [STATUS] Versao=SP_NFE_PL_008i2 TpAmb=2 VerAplic=SP_NFE_PL_008i2 CStat=107 XMotivo=Servi�o em Opera��o CUF=35 DhRecbto=31/01/2018 15:40:14 TMed=1 DhRetorno=30/12/1899 XObs=  

    Obrigado!

    quarta-feira, 31 de janeiro de 2018 18:12

Respostas

  • Isso é um problema de encoding.. Veja se isso resolve:

    Dim LerArquivo As System.IO.StreamReader

    Dim LerArquivo As StreamReader = New StreamReader(CaminhoArquivo & NomeArquivo ,Encoding.Unicode) Retorno = LerArquivo.ReadToEnd

    LerArquivo.Close()

    o valor de encoding pode assumir estes valores:

    https://msdn.microsoft.com/en-us/library/system.text.encoding(v=vs.110).aspx

    depende de como foi salvo o seu arquivo texto.

    att


    att


    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    quarta-feira, 31 de janeiro de 2018 18:25
    Moderador

Todas as Respostas

  • Isso é um problema de encoding.. Veja se isso resolve:

    Dim LerArquivo As System.IO.StreamReader

    Dim LerArquivo As StreamReader = New StreamReader(CaminhoArquivo & NomeArquivo ,Encoding.Unicode) Retorno = LerArquivo.ReadToEnd

    LerArquivo.Close()

    o valor de encoding pode assumir estes valores:

    https://msdn.microsoft.com/en-us/library/system.text.encoding(v=vs.110).aspx

    depende de como foi salvo o seu arquivo texto.

    att


    att


    William John Adam Trindade
    Analyste-programmeur


    Sogi Informatique ltée


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer". Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    quarta-feira, 31 de janeiro de 2018 18:25
    Moderador
  •             Dim LerArquivo As System.IO.StreamReader = New System.IO.StreamReader(CaminhoArquivo & NomeArquivo, System.Text.Encoding.UTF7)
                Retorno = LerArquivo.ReadToEnd
                LerArquivo.Close()
    quarta-feira, 31 de janeiro de 2018 18:34