- [Java-bibliotheek om broncodebestanden te vergelijken en samen te voegen][1]
- [Hoe broncodebestanden in Java te vergelijken en samen te voegen][2]
- [Verkrijg de lijst met wijzigingen met Java][3]
- [Geavanceerde opties in Java-codevergelijkingsbibliotheek][4]
Java-bibliotheek om broncodebestanden te vergelijken en samen te voegen
Om broncodebestanden te vergelijken en samen te voegen, zullen we Java codevergelijking [bibliotheek][20] gebruiken, die alle belangrijke en uitstekende functies voor broncodevergelijking bevat. Deze bibliotheek voor het vergelijken van Java-code kan worden [gedownload][16] of kan direct worden geïnstalleerd met behulp van de Maven-configuratie zoals hieronder weergegeven.
<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>
Broncodebestanden in Java vergelijken en samenvoegen
Stel dat we twee bestanden hebben (source.cs en target.cs) van verschillende versies van een broncode, zoals weergegeven in de volgende schermafbeelding.
Laten we, uitgaande van de bovenstaande bestanden, een codefragment in Java schrijven door de onderstaande stappen te volgen:- Initialiseer de klasse [Comparer][5] met het pad of de stroom van het brondocument.
- Roep de methode [add()][6] aan en geef het pad of de stroom van het doeldocument op.
- Roep de methode [vergelijk()][7] aan.
Het volgende codevoorbeeld laat zien hoe gemakkelijk u broncodebestanden in Java kunt vergelijken en samenvoegen.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
//Instantiate Comparer object with source document path or stream; try (Comparer comparer = new Comparer(SourceFile)) { // Invoke add method and specify target document path or stream. comparer.add(TargetFile); //Invoke compare method. final Path resultPath = comparer.compare(ResultPath); }
Download de lijst met wijzigingen met behulp van Java
Om de lijst met alle wijzigingen na vergelijking te krijgen, zullen we de code schrijven volgens de volgende stappen:
- Initialiseer het [Comparer][5]-object met het pad van het bronbestand.
- Roep de methode [add()][6] aan en geef het pad van het doelbestand op.
- Roep de methode [vergelijk()][7] aan.
- Haal de lijst met wijzigingen op met de methode [getChanges()][8].
Het onderstaande codevoorbeeld laat zien hoe u de lijst met alle wijzigingen kunt ophalen.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
//Initialize Comparer object with source file path try (Comparer comparer = new Comparer(sourceFile)) { //Invoke [add][] method and specify target file path. comparer.add(targetFile); //Call compare method final Path resultPath = comparer.compare(); //Get the list of changes by using getChanges method ChangeInfo[] changes = comparer.getChanges(); //Display the changes count System.out.println("Count of changes: " + changes.length); }
Geavanceerde opties in Java-codevergelijkingsbibliotheek
Als u verschillende versies van code moet accepteren of afwijzen, moet u de wijzigingen mogelijk toepassen of negeren. Volg in dat geval de onderstaande stappen:
- Initialiseer het object van de klasse [Comparer][5] met het pad of de stroom van het brondocument.
- Roep de methode [add()][6] aan en stel het pad van het doeldocument in.
- Roep de methode [vergelijk()][7] aan.
- Roep de methode [getChanges()][8] aan en verkrijg de lijst met gedetecteerde wijzigingen.
- Stel [ComparisonAction][9] van het benodigde wijzigingsobject in op de waarde [ComparisonAction.ACCEPT][10] of [ComparisonAction.REJECT][11].
- Roep de methode [applyChanges()][12] aan en geef de verzameling wijzigingen door.
Het volgende codefragment laat zien hoe u de geavanceerde opties van de codevergelijkingsbibliotheek kunt gebruiken.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
//Initialize Comparer object with source file path try (Comparer comparer = new Comparer(sourcePath)) { //Invoke [add][] method and specify target file path. comparer.add(targetPath); //Call compare method final Path resultPath = comparer.compare(outputPath); //Get the list of changes by using getChanges method ChangeInfo[] changes = comparer.getChanges(); //Set ComparisonAction of needed change object to ComparisonAction.ACCEPT value. for (int i = 0; i < 10; i++) { changes[i].setComparisonAction(ComparisonAction.ACCEPT); } //Set ComparisonAction of needed change object to ComparisonAction.REJECT value. for (int i = 10; i < changes.length; i++) { changes[i].setComparisonAction(ComparisonAction.REJECT); } // Call applyChanges method and pass collection of changes to it. comparer.applyChanges(resultPath, new ApplyChangeOptions(changes)); }
Ontvang een gratis licentie
U kunt een [gratis tijdelijke licentie][14] krijgen om de API zonder evaluatiebeperkingen uit te proberen.
Conclusie
Kortom, we hopen dat u hebt geleerd hoe u programmatisch broncodebestanden kunt vergelijken en samenvoegen met behulp van een Java-codevergelijkingsbibliotheek. Als resultaat hebt u de samenvatting van ingevoegde of verwijderde inhoud. Verder heeft u de manieren doorlopen om de wijzigingslijst op te halen en de geïdentificeerde wijzigingen te accepteren of af te wijzen. U kunt de [documentatie][15] bezoeken om andere functies te verkennen.
Een vraag stellen
U kunt uw vragen of vragen aan ons stellen op ons [forum][18].
Veelgestelde vragen
Hoe broncodebestanden in Java vergelijken en samenvoegen? Initialiseer de klasse [Comparer][5] met het pad of de stroom van het brondocument, roep de methode [add()][6] aan en stel het pad of de stroom van het doeldocument in. Roep daarna de methode [compare()][7] van de klasse [Comparer][5] aan.
Zie ook
- [Vergelijk Word-documenten en markeer verschillen met Java][19] [1]: #Java-library-to-compare-and-merge-source-code-files [2]: #How-to-compare-and-merge-source-code-files-in-java [3]: #Get-the-list-of-changes-using-java [4]: #Advance-options-in-Java-code-comparison-library [5]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer [6]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#add%28java.lang.String%29 [7]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#compare%28java.lang.String%29 [8]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#getChanges%28%29 [9]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison.result/ComparisonAction [10]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison.result/ComparisonAction#ACCEPT [11]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison.result/ComparisonAction#REJECT [12]: https://reference.groupdocs.com/comparison/java/com.groupdocs.comparison/Comparer#applyChanges%28java.io.OutputStream,%20com.groupdocs.comparison.options.ApplyChangeOptions%29 [13]: https://docs.fileformat.com/web/html/ [14]: https://purchase.conholdate.com/temporary-license [15]: https://docs.groupdocs.com/comparison/java/ [16]: https://releases.groupdocs.com/comparison/java/ [17]: https://conholdate.com/ [18]: https://forum.conholdate.com/ [19]: https://blog.conholdate.com/nl/total/compare-word-documents-and-highlight-differences-using-java/ [20]: https://releases.groupdocs.com/java/repo/com/groupdocs/groupdocs-comparison/