No trabalho surgiu a necessidade de migrar o layout de um arquivo texto usado entre a Fenacor e as Seguradoras. O arquivo hoje é um txt simples com registros separados por “;” mais particularmente conhecido como formato CSV. O novo layout contempla mais informações e possui 3 tipos de registros distintos dentro do mesmo arquivo. Isso acabou com a compatibilidade que os sistemas mais antigos tinham com o arquivo. Resumo da brincadeira: tivemos que pensar numa solução genérica para resolver a situação.
Acabou que o mais prático e barato era receber o arquivo no formato novo, voltar ele pro antigo e permitir que os sistemas continuem trabalhando da mesma forma. Isso gera impacto zero de alteração e manutenção dos sistemas. Criamos então um aplicativo simples que permite mudar a versão do arquivo da Fenacor. Para tal utilizamos a FileHelpers para facilitar o trabalho. E realmente facilitou: quase não escrevi código para fazer isso.
Com a FileHelpers em ação foi necessário definir uma classe para cada tipo de registro e uma classe orquestradora onde o código de leitura do arquivo novo já preenche um array de objetos todos tipados:
Daí ficou mais fácil ainda pois bastou fazer um “de – para” do formato novo para o antigo e usar o método engine.WriteFile(caminhoArquivoDestino, ListaRegistrosAntigos) . Pronto, está feito. A performance foi ótima poucos segundos para um arquivo com 250 mil registros). Portanto para manipular arquivos texto em .Net não conheço melhor, por isso mesmo recomendo. É open source, muito bem documentada com exemplos em código e com um wizard, testada com NUnit e em evolução constante. Muito boa.
Link: www.filehelpers.com


Comment