Comparar archivos CSV en Java

Ya hemos discutido la forma básica de comparar dos archivos CSV dentro de nuestras aplicaciones Java. Hoy, en este artículo, aprenderemos más a comparar más de dos CSV en Java. Discutiremos más a fondo cómo comparar archivos CSV protegidos con contraseña. Por último, analizará cómo aceptar y rechazar los cambios encontrados utilizando la API de comparación dentro de la aplicación Java.

Los siguientes temas se tratan a continuación:

API de Java para comparar archivos CSV

GroupDocs.Comparison muestra su API de Java que permite comparar archivos CSV con diferentes opciones. Lo usaré nuevamente para comparar archivos CSV dentro de la aplicación Java. Además, admite la comparación de más de dos archivos CSV, aceptando y rechazando los cambios descubiertos y comparando archivos protegidos con contraseña.

Descargar y configurar

Obtenga la biblioteca de comparación CSV de la sección descargas. Para aplicaciones Java basadas en Maven, agregue la siguiente configuración dentro de pom.xml.

<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>

Los ejemplos de ejecución de sus características también están disponibles en GitHub. Visite su documentación y Referencia API para obtener orientación.

Comparar archivos CSV en Java

La comparación básica de dos archivos CSV usando Java ya se ha discutido en un artículo separado. Allí, analizamos el código fuente de Java de comparación de archivos, la entrada de muestra y el archivo de salida de comparación. Puede visitar ese artículo antes de seguir adelante.

Compara más de dos archivos CSV en Java

Si el requisito es comparar más de dos archivos CSV, es bastante similar ya que estamos comparando solo dos archivos. Simplemente agregue el tercer archivo al objeto Comparer.

Los siguientes son los pasos para comparar más de dos archivos CSV en Java.

  • Cree una instancia de la clase Comparer con el primer archivo CSV.
  • Agregue el segundo archivo usando el método de agregar apropiado.
  • Del mismo modo, agregue tantos otros archivos CSV utilizando los métodos de agregar.
  • Finalmente, llame al método de comparación para obtener los resultados de la comparación.

El siguiente código fuente de Java compara varios archivos CSV. Como resultado de la comparación, genera archivos CSV y HTML separados. El archivo de salida HTML resalta los cambios identificados en diferentes colores.

// Compara múltiples (más de 2) archivos CSV en Java

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

Comparar archivos CSV protegidos con contraseña en Java

Hay diferentes opciones disponibles que se pueden usar al cargar diferentes documentos. Si sus archivos CSV están protegidos con contraseña, puede proporcionar la contraseña durante la carga. El resto del procedimiento sigue siendo el mismo para comparar varios archivos CSV protegidos con contraseña.

Los siguientes son los pasos para comparar archivos CSV protegidos con contraseña en Java.

  • Prepare las opciones de carga utilizando la clase LoadOptions y configure la contraseña para abrir el archivo CSV.
  • Ahora cargue el primer archivo CSV para comparar mientras inicializa la clase Comparer.
  • Agregue el segundo archivo usando el método de agregar apropiado.
  • Del mismo modo, agregue tantos otros archivos CSV utilizando cualquiera de los métodos de agregar.
  • Finalmente, invoque el método de comparación para obtener el resultado de la comparación de todos los archivos agregados.

El siguiente código fuente compara varios archivos CSV protegidos con contraseña en Java y genera los resultados de la comparación.

// Compare archivos CSV protegidos con contraseña usando Java

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

Aceptar o rechazar cambios identificados de archivos CSV en Java

Al igual que la función de seguimiento de cambios de Microsoft Word que nos permite aceptar o rechazar los cambios realizados en los documentos. Puede implementar la misma característica dentro de las aplicaciones Java. Después de realizar la comparación de archivos, puede aceptar o rechazar cada uno de los cambios identificados. Los siguientes son los pasos para comparar archivos CSV y aceptar o rechazar los cambios identificados.

  • Cargue los archivos CSV de origen y de destino utilizando la clase Comparador.
  • Realice la comparación de los archivos cargados utilizando el método de comparación.
  • Obtenga los cambios identificados mediante el método getChanges.
  • Ahora puede atravesar los cambios y establecer su ComparisonAction en consecuencia para cada cambio.
    • Para los cambios acordados puedes configurarlo como ACEPTAR.
    • Para los cambios en desacuerdo, puede configurarlo como RECHAZAR.
  • Finalmente, llame al método applyChanges para obtener el documento resultante con los cambios aplicados.

El siguiente código fuente de Java compara dos archivos CSV y luego acepta y rechaza los cambios encontrados.

// Acepte o rechace los cambios identificados comparando archivos CSV en Java

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");

comparer.compare("path/comparison-result.csv");

ChangeInfo[] changes = comparer.getChanges();
changes[0].setComparisonAction(ComparisonAction.REJECT);
changes[1].setComparisonAction(ComparisonAction.ACCEPT);

comparer.applyChanges("path/comparison-result.csv", new SaveOptions(), new ApplyChangeOptions(changes));

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

En resumen, hoy aprendimos al estilo Java cómo comparar dos o más archivos CSV. Junto con la opción de aceptar y rechazar los cambios identificados, también aprendimos a comparar archivos CSV protegidos con contraseña dentro de las aplicaciones Java.

Puede encontrar muchas otras opciones para personalizar los resultados de la comparación. Puede establecer la sensibilidad de la comparación, mostrar solo la página de resumen, ignorar las lagunas y mucho más. Obtenga más información sobre estas funciones en la documentación.

Puede comenzar a crear sus propias aplicaciones de comparación para varios formatos de documentos admitidos. Para consultas, contáctenos a través del foro.

Ver también