Wenn Sie als Java-Entwickler ein Quellcode-Vergleichstool** oder eine Anwendung erstellen oder mehrere Versionen von Codedateien verwalten müssen, sollten Sie darüber nachdenken, wie Sie Quellcodedateien in Java **vergleichen und zusammenführen können **. Wenn dies der Fall ist, wird dieser Artikel erklären, wie einfach wir dies tun können, ohne eine Reihe von Codezeilen zu schreiben. Außerdem werden wir sehen, wie wir die Änderungen abrufen, akzeptieren oder verwerfen können, während wir die Quellcodedateien zusammenführen.
Dieser Artikel behandelt die unten angegebenen Punkte:
- Java-Bibliothek zum Vergleichen und Zusammenführen von Quellcodedateien
- Wie man Quellcodedateien in Java vergleicht und zusammenführt
- Liste der Änderungen mit Java abrufen
- Erweiterte Optionen in der Java-Code-Vergleichsbibliothek
Java-Bibliothek zum Vergleichen und Zusammenführen von Quellcodedateien
Um Quellcodedateien zu vergleichen und zusammenzuführen, verwenden wir Java Codevergleich Bibliothek, das alle wichtigen und herausragenden Quellcodevergleichsfunktionen enthält. Diese Java-Code-Vergleichsbibliothek kann entweder heruntergeladen oder direkt installiert werden, indem die unten angegebene Maven-Konfiguration verwendet wird.
<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>
Wie man Quellcodedateien in Java vergleicht und zusammenführt
Angenommen, wir haben zwei Dateien (source.cs und target.cs) mit unterschiedlichen Versionen eines Quellcodes, wie im folgenden Screenshot gezeigt.
Lassen Sie uns unter Berücksichtigung der obigen Dateien ein Code-Snippet in Java schreiben, indem Sie die folgenden Schritte ausführen:
- Initialisieren Sie die Klasse Comparer mit dem Pfad oder Stream des Quelldokuments.
- Rufen Sie die Methode add() auf und geben Sie den Pfad oder Stream des Zieldokuments an.
- Rufen Sie die Methode compare() auf.
Das folgende Codebeispiel zeigt, wie einfach Sie Quellcodedateien in Java vergleichen und zusammenführen können.
//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); | |
} |
Als Ergebnis erhalten wir die zusammengeführte Quellcodedatei und eine HTML-Datei, die die Änderungen im Code hervorhebt. Bitte beachten Sie, dass die gelöschten Elemente in rot markiert werden, die hinzugefügten – in blau und die geänderten – in grün .
Holen Sie sich die Liste der Änderungen mit Java
Um die Liste aller Änderungen nach dem Vergleich zu erhalten, schreiben wir den Code wie folgt:
- Initialisieren Sie das Objekt Comparer mit dem Pfad der Quelldatei.
- Rufen Sie die Methode add() auf und geben Sie den Pfad der Zieldatei an.
- Rufen Sie die Methode compare() auf.
- Rufen Sie die Liste der Änderungen mit der Methode getChanges() ab.
Das folgende Codebeispiel zeigt, wie Sie die Liste aller Änderungen erhalten.
//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); | |
} |
Erweiterte Optionen in der Java-Code-Vergleichsbibliothek
Wenn Sie mehrere Codeversionen akzeptieren oder ablehnen müssen, müssen Sie die Änderungen möglicherweise anwenden oder verwerfen. Gehen Sie in diesem Fall bitte wie folgt vor:
- Objekt der Klasse Comparer mit dem Pfad oder Stream des Quelldokuments initialisieren.
- Rufen Sie die Methode add() auf und legen Sie den Pfad des Zieldokuments fest.
- Rufen Sie die Methode compare() auf.
- Rufen Sie die Methode getChanges() auf und rufen Sie die Liste der erkannten Änderungen ab.
- Legen Sie ComparisonAction des erforderlichen Änderungsobjekts auf den Wert ComparisonAction.ACCEPT oder ComparisonAction.REJECT fest.
- Rufen Sie die Methode applyChanges() auf und übergeben Sie die Sammlung der Änderungen an sie.
Das folgende Code-Snippet zeigt, wie Sie die erweiterten Optionen der Codevergleichsbibliothek verwenden.
//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)); | |
} |
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erwerben, um die API ohne Evaluierungseinschränkungen zu testen.
Abschluss
Zusammenfassend hoffen wir, dass Sie gelernt haben, wie man Quellcodedateien in Java mithilfe einer Java-Codevergleichsbibliothek vergleicht und zusammenführt. Als Ergebnis erhalten Sie die Zusammenfassung der eingefügten oder gelöschten Inhalte. Darüber hinaus haben Sie die Möglichkeiten zum Abrufen der Änderungsliste und zum Akzeptieren oder Ablehnen der identifizierten Änderungen durchlaufen.
Sie können die Dokumentation aufrufen, um weitere Funktionen zu erkunden.
Stelle eine Frage
Sie können uns Ihre Fragen oder Anregungen in unserem Forum mitteilen.
Häufig gestellte Fragen
Wie vergleiche und füge ich Quellcodedateien in Java zusammen?
Initialisieren Sie die Klasse Comparer mit dem Pfad oder Stream des Quelldokuments, rufen Sie die Methode add() auf und legen Sie den Pfad oder Stream des Zieldokuments fest. Rufen Sie danach die Methode compare() der Klasse Comparer auf.