Os dados do arquivo CSV são basicamente valores separados por vírgulas e é muito difícil ler esses dados em formato bruto. No entanto, quando esses arquivos são visualizados usando qualquer um dos editores conhecidos como Microsoft Excel, OpenOffice Calc ou LibreOffice que suportam o formato CSV, fica muito fácil manipular arquivos CSV. Mesmo assim, e se você quiser comparar dois arquivos CSV grandes quanto à diferença de dados? Vamos fazer isso programaticamente. Este artigo aborda rapidamente a maneira básica de comparar dois arquivos CSV em Java.

API Java para comparar arquivos CSV

GroupDocs mostra suas APIs que permitem comparar dois ou mais arquivos CSV para diferenças dentro dos aplicativos. Vou usar sua API Java ou seja GroupDocs.Comparison for Java para comparar arquivos CSV.

A API também suporta a comparação de mais de dois arquivos CSV, comparando arquivos CSV protegidos por senha, aceitando e rejeitando as alterações descobertas e muito mais.

Baixe e configure

Obtenha a biblioteca de comparação de CSV na seção downloads. Para aplicativos Java baseados em Maven, adicione a seguinte configuração em pom.xml. Mais tarde, você pode experimentar os exemplos deste artigo e muitos outros do GitHub. Para obter detalhes, você também pode visitar a Referência da API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>22.3</version> 
</dependency>

Como comparar arquivos CSV em Java

Direto ao assunto, vamos fazer a comparação básica. É tão simples quanto qualquer aplicativo de comparação de CSV online. Basta carregar o arquivo de comparação e clicar em comparar. A seguir estão os arquivos que são comparados abaixo:

Arquivos CSV para comparar

A seguir estão as etapas para comparar dois arquivos CSV para diferenças em Java:

  • Carregue o primeiro arquivo CSV usando a classe Comparer.
  • Adicione o segundo arquivo CSV usando o respectivo método de adição.
  • Compare os dois arquivos usando o método compare.

O código Java a seguir compara os arquivos CSV e fornece as diferenças em uma saída CSV.

// Compare CSV (Arquivos Separados por Vírgula) usando Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

O resultado de saída é o seguinte:

Resultado da comparação de arquivos CSV

Conclusão

Para resumir, acabamos de aprender a comparar dois arquivos CSV de valores separados por vírgula em um aplicativo Java. No resumo da comparação, também obtemos a contagem das diferenças encontradas nos arquivos comparados. Esse recurso permite encontrar as diferenças entre dois arquivos CSV grandes. Da mesma forma, você pode criar seu próprio aplicativo Java de comparação de arquivos CSV usando esse recurso simples.

Para obter mais detalhes e saber mais sobre a API, visite sua documentação. Para dúvidas, entre em contato conosco através do fórum.

Veja também