Compara y fusiona archivos de código fuente en Java

Compara y fusiona archivos de código fuente en Java

Como desarrollador de Java, si va a crear una herramienta o aplicación de comparación de código fuente o si necesita administrar varias versiones de archivos de código, entonces puede pensar en cómo **comparar y combinar archivos de código fuente en Java **. Si es así, este artículo explicará con qué facilidad podemos hacer esto sin tener que escribir una serie de líneas de código. Además, veremos cómo podemos recuperar, aceptar o descartar los cambios mientras fusionamos los archivos de código fuente.

Este artículo cubrirá los puntos que se indican a continuación:

Biblioteca Java para comparar y fusionar archivos de código fuente

Para comparar y fusionar archivos de código fuente, utilizaremos la comparación de código biblioteca de Java, que consta de todas las características importantes y destacadas de comparación de código fuente. Esta biblioteca de comparación de código Java se puede descargar o se puede instalar directamente usando la configuración de Maven como se indica a continuación.

<repository>
    <id>groupdocs-artifacts-repository</id>
    <name>GroupDocs Artifacts Repository</name>
    <url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-comparison</artifactId>
    <version>22.11</version>
</dependency>

Cómo comparar y fusionar archivos de código fuente en Java

Supongamos que tenemos dos archivos (source.cs y target.cs) de diferentes versiones de un código fuente como se muestra en la siguiente captura de pantalla.

Archivos de código fuente para comparar

Al considerar los archivos anteriores, escribamos un fragmento de código en Java siguiendo los pasos que se indican a continuación:

  1. Inicialice la clase Comparador con la ruta o secuencia del documento de origen.
  2. Invoque el método add() y especifique la ruta o secuencia del documento de destino.
  3. Invoque el método compare().

El siguiente ejemplo de código muestra con qué facilidad puede comparar y fusionar archivos de código fuente en Java.

Como resultado, obtendremos el archivo de código fuente fusionado y un archivo HTML que destaca los cambios en el código. Tenga en cuenta que los elementos eliminados se marcarán en rojo , los agregados, en azul , y los modificados, en verde .

Compara y fusiona archivos de código fuente

Obtener la lista de cambios usando Java

Para obtener la lista de todos los cambios después de la comparación, escribiremos el código según los siguientes pasos:

  1. Inicialice el objeto Comparador con la ruta del archivo de origen.
  2. Invoque el método add() y especifique la ruta del archivo de destino.
  3. Invoque el método compare().
  4. Obtenga la lista de cambios usando el método getChanges().

El ejemplo de código siguiente muestra cómo obtener la lista de todos los cambios.

Opciones avanzadas en la biblioteca de comparación de código Java

Si necesita aceptar o rechazar varias versiones de código, es posible que deba aplicar o descartar los cambios. En este caso, siga los pasos que se indican a continuación:

  1. Inicialice el objeto de la clase Comparador con la ruta o secuencia del documento de origen.
  2. Llame al método add() y establezca la ruta del documento de destino.
  3. Invoque el método compare().
  4. Invoque el método getChanges() y obtenga la lista de cambios detectados.
  5. Establezca ComparisonAction del objeto de cambio necesario en el valor ComparisonAction.ACCEPT o ComparisonAction.REJECT.
  6. Llame al método applyChanges() y pásele la colección de cambios.

El siguiente fragmento de código muestra cómo usar las opciones avanzadas de la biblioteca de comparación de código.

Obtenga una licencia gratis

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

Conclusión

En resumen, esperamos que haya aprendido a comparar y fusionar archivos de código fuente en Java usando una biblioteca de comparación de código Java. Como resultado, tiene el resumen del contenido insertado o eliminado. Además, ha recorrido las formas de obtener la lista de cambios y aceptar o rechazar los cambios identificados.

Puede visitar la documentación para explorar otras características.

Hacer una pregunta

Puedes hacernos saber tus dudas o consultas en nuestro foro.

preguntas frecuentes

¿Cómo comparar y fusionar archivos de código fuente en Java?

Inicialice la clase Comparador con la ruta o secuencia del documento de origen, llame al método add() y configure la ruta o secuencia del documento de destino. Después de eso, invoque el método compare() de la clase Comparer.

Ver también