none
Ler linha de arquivo txt RRS feed

  • Pergunta

  • Boa tarde.

    Estou realizando a importação de arquivos em formato txt para o sistema. Para isso, eu preciso separar as informações do arquivo.

    Digamos que no meu arquivo, eu tenho a linha:

    "818","3 ALBE","20550","SPLINT INTRANASAL","DNXX","Splint intranasal p/rinoseptoplastia 101150","1","758","0,00","N","000100101001110","0000049117","N","10101114417","0,00","0,00","0,00","0,00","0,00","0,00","0,00","892,00","892,00","892,00","892,00","0,00"

    As informações estão separadas por aspas duplas e vírgula: ",".

    Para ler as linhas do arquivo, estou fazendo dessa forma: 

    System.IO.StreamReader file = new System.IO.StreamReader(this.caminhoArquivo, Encoding.GetEncoding(codificacao.TextInfo.ANSICodePage));

    Não posso alterar isso por que esse metodo por que está sendo utilizado em outro processos.

    Depois eu atribuo a linha a uma variável e leio ela: var linha = file.ReadLine(); 

    A var linha recebe a string da linha nesse formato: "\"818\",\"3 ALBE\",\"20550\",\"SPLINT INTRANASAL\",\"DNXX\",\"Splint intranasal p/rinoseptoplastia 101150\",\"1\",\"758\",\"0,00\",\"N\",\"000100101001110\",\"0000049117\",\"N\",\"10101114417\",\"0,00\",\"0,00\",\"0,00\",\"0,00\",\"0,00\",\"0,00\",\"0,00\",\"892,00\",\"892,00\",\"892,00\",\"892,00\",\"0,00\""

    Dessa forma eu utilizei um método para separar os campo que retorna:

    return linha.Split(new string[] {"\",\""}, StringSplitOptions.None);

    Isso me devolve um array com os campo separados, de acordo com o separador que eu passei: "\",\""

    O problema é que o primeiro e último campo ainda ficam nesse formato: "\"818" e "0,00\""

    Os outros ficam certo, por exemplo: "3 ALBE", "20550", "SPLINT INTRANASAL".

    Somente o primeiro e o último não são formatados.

    Alguém sabe dizer por que isso acontece e como resolver?

    Desde já agradeço.

    quinta-feira, 14 de abril de 2016 20:37