Bandingkan dan Gabungkan File Kode Sumber di Java

Bandingkan dan Gabungkan File Kode Sumber di Java

Sebagai pengembang Java, jika Anda akan membangun sumber alat pembanding kode atau aplikasi atau Anda mungkin perlu mengelola beberapa versi file kode maka Anda mungkin berpikir tentang cara **membandingkan dan menggabungkan file kode sumber di Java **. Jika demikian, artikel ini akan menjelaskan betapa mudahnya kita melakukannya tanpa menulis beberapa baris kode. Selain itu, kita akan melihat bagaimana kita dapat mengambil, menerima, atau membuang perubahan saat menggabungkan file kode sumber. Artikel ini akan membahas poin-poin yang diberikan di bawah ini:

Pustaka Java untuk membandingkan dan menggabungkan file kode sumber

Untuk membandingkan dan menggabungkan file kode sumber, kita akan menggunakan perbandingan kode Java library yang terdiri dari semua fitur perbandingan kode sumber yang penting dan luar biasa. Pustaka pembanding kode Java ini dapat diunduh atau dapat diinstal langsung dengan menggunakan konfigurasi Maven seperti yang diberikan di bawah ini.

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

Bagaimana membandingkan dan menggabungkan file kode sumber di Java

Misalkan kita memiliki dua file (source.cs dan target.cs) dari versi kode sumber yang berbeda seperti yang ditunjukkan pada tangkapan layar berikut.

File kode sumber untuk dibandingkan
Dengan mempertimbangkan file-file di atas, mari kita menulis potongan kode di Java dengan mengikuti langkah-langkah seperti di bawah ini:

  1. Inisialisasi kelas Comparer dengan path atau stream dokumen sumber.
  2. Aktifkan metode add() dan tentukan jalur atau aliran dokumen target.
  3. Aktifkan metode bandingkan(). Contoh kode berikut menunjukkan betapa mudahnya Anda dapat membandingkan dan menggabungkan file kode sumber di Java.
    //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);
    }
    Sebagai hasilnya, kita akan mendapatkan file kode sumber gabungan dan file HTML yang menyoroti perubahan kode. Perhatikan bahwa elemen yang dihapus akan ditandai dengan red , elemen tambahan – dengan blue , dan elemen yang dimodifikasi – dengan green .
    Bandingkan dan gabungkan file kode sumber

Dapatkan daftar perubahan menggunakan Java

Untuk mendapatkan daftar semua perubahan setelah perbandingan, kami akan menulis kode sesuai langkah-langkah berikut:

  1. Inisialisasi objek Comparer dengan jalur file sumber.
  2. Aktifkan metode add() dan tentukan jalur file target.
  3. Aktifkan metode bandingkan().
  4. Dapatkan daftar perubahan dengan menggunakan metode getChanges(). Contoh kode di bawah ini menunjukkan cara mendapatkan daftar semua perubahan.
    //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);
    }

Opsi lanjutan di pustaka perbandingan kode Java

Jika Anda perlu menerima atau menolak beberapa versi kode, Anda mungkin harus menerapkan atau menghapus perubahan tersebut. Dalam hal ini, silakan ikuti langkah-langkah yang diberikan di bawah ini:

  1. Menginisialisasi objek kelas Comparer dengan path atau stream dokumen sumber.
  2. Panggil metode add() dan tetapkan jalur dokumen target.
  3. Aktifkan metode bandingkan().
  4. Aktifkan metode getChanges() dan dapatkan daftar perubahan yang terdeteksi.
  5. Tetapkan ComparisonAction objek perubahan yang diperlukan ke nilai ComparisonAction.ACCEPT atau ComparisonAction.REJECT.
  6. Panggil metode applyChanges() dan berikan kumpulan perubahan padanya. Cuplikan kode berikut menunjukkan cara menggunakan opsi lanjutan dari pustaka perbandingan kode.
    //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));
    }

Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk mencoba API tanpa batasan evaluasi.

Kesimpulan

Singkatnya, kami harap Anda telah mempelajari cara membandingkan dan menggabungkan file kode sumber secara terprogram menggunakan pustaka perbandingan kode Java. Hasilnya, Anda mendapatkan ringkasan konten yang disisipkan atau dihapus. Selanjutnya, Anda telah melalui cara untuk mendapatkan daftar perubahan dan menerima atau menolak perubahan yang teridentifikasi. Anda dapat mengunjungi dokumentasi untuk menjelajahi fitur lainnya.

Berikan pertanyaan

Anda dapat memberi tahu kami pertanyaan atau pertanyaan Anda di forum kami.

FAQ

Bagaimana cara membandingkan dan menggabungkan file kode sumber di Java? Inisialisasi kelas Comparer dengan path atau stream dokumen sumber, panggil metode add(), dan tetapkan path atau stream dokumen target. Setelah itu, panggil metode compare() dari kelas Comparer.

Lihat juga