قارن ودمج ملفات التعليمات البرمجية المصدر في Java

قارن ودمج ملفات التعليمات البرمجية المصدر في Java

بصفتك مطور Java ، إذا كنت تنوي إنشاء ** أداة مقارنة شفرة المصدر ** أو تطبيق أو قد تحتاج إلى إدارة عدة إصدارات من ملفات التعليمات البرمجية ، فقد تفكر في كيفية ** مقارنة ملفات التعليمات البرمجية المصدر ودمجها في Java **. إذا كان الأمر كذلك ، فستشرح هذه المقالة مدى سهولة القيام بذلك دون كتابة عدد من أسطر التعليمات البرمجية. إلى جانب ذلك ، سنرى كيف يمكننا استرداد التغييرات أو قبولها أو تجاهلها أثناء دمج ملفات التعليمات البرمجية المصدر.

ستغطي هذه المقالة النقاط الواردة أدناه:

مكتبة Java لمقارنة ملفات التعليمات البرمجية المصدر ودمجها

لمقارنة ملفات التعليمات البرمجية المصدر ودمجها ، سنستخدم Java ** مقارنة التعليمات البرمجية ** مكتبة والتي تتكون من جميع ميزات مقارنة التعليمات البرمجية المصدر المهمة والبارزة. مكتبة مقارنة كود Java يمكن إما تنزيلها أو يمكن تثبيتها مباشرة باستخدام تكوين Maven كما هو موضح أدناه.

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

كيفية مقارنة ملفات التعليمات البرمجية المصدر ودمجها في Java

لنفترض أن لدينا ملفين (source.cs و target.cs) لإصدارات مختلفة من كود المصدر كما هو موضح في لقطة الشاشة التالية.

ملفات التعليمات البرمجية المصدر للمقارنة

من خلال النظر في الملفات أعلاه ، دعنا نكتب مقتطف رمز في Java باتباع الخطوات الموضحة أدناه:

  1. قم بتهيئة فئة المقارنة بمسار أو دفق الوثيقة المصدر.
  2. قم باستدعاء طريقة add () وحدد مسار المستند المستهدف أو التدفق.
  3. استدعاء طريقة قارن ().

يوضح نموذج التعليمات البرمجية التالي مدى سهولة مقارنة ملفات التعليمات البرمجية المصدر ودمجها في 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);
}

نتيجة لذلك ، سوف نحصل على ملف كود المصدر المدمج وملف HTML يبرز التغييرات في الكود. يرجى ملاحظة أن العناصر المحذوفة سيتم تمييزها بـ ** أحمر ، والإضافة - في أزرق ، والمعدلة - في أخضر ** .

قارن ودمج ملفات التعليمات البرمجية المصدر

احصل على قائمة التغييرات باستخدام Java

للحصول على قائمة بجميع التغييرات بعد المقارنة ، يجب كتابة الكود وفقًا للخطوات التالية:

  1. قم بتهيئة المقارنة الكائن بمسار الملف المصدر.
  2. قم باستدعاء طريقة add () وحدد مسار الملف الهدف.
  3. استدعاء طريقة قارن ().
  4. احصل على قائمة التغييرات باستخدام طريقة getChanges ().

يوضح نموذج التعليمات البرمجية أدناه كيفية الحصول على قائمة بجميع التغييرات.

//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);
}

خيارات متقدمة في مكتبة مقارنة كود Java

إذا كنت بحاجة إلى قبول أو رفض عدة إصدارات من التعليمات البرمجية ، فقد تضطر إلى تطبيق التغييرات أو تجاهلها. في هذه الحالة ، يرجى اتباع الخطوات الواردة أدناه:

  1. قم بتهيئة كائن من فئة المقارنة مع مسار المستند المصدر أو الدفق.
  2. قم باستدعاء طريقة add () وحدد مسار المستند الهدف.
  3. استدعاء طريقة قارن ().
  4. قم باستدعاء أسلوب getChanges () واحصل على قائمة التغييرات المكتشفة.
  5. قم بتعيين ComparisonAction من كائن التغيير المطلوب إلى ComparisonAction.ACCEPT أو ComparisonAction.REJECT القيمة.
  6. قم باستدعاء طريقة applicationChanges () وتمرير مجموعة التغييرات إليها.

يوضح مقتطف التعليمات البرمجية التالي كيفية استخدام الخيارات المتقدمة لمكتبة مقارنة التعليمات البرمجية.

//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));
}

احصل على رخصة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة واجهة برمجة التطبيقات بدون قيود تقييمية.

خاتمة

للتلخيص ، نأمل أن تكون قد تعلمت كيفية ** مقارنة ودمج ملفات التعليمات البرمجية المصدر في Java ** باستخدام مكتبة مقارنة تعليمات Java البرمجية. نتيجة لذلك ، لديك ملخص المحتوى المدرج أو المحذوف. علاوة على ذلك ، فقد انتهيت من طرق الحصول على قائمة التغييرات وقبول التغييرات المحددة أو رفضها.

يمكنك زيارة الوثائق لاستكشاف ميزات أخرى.

طرح سؤال

يمكنك إخبارنا بأسئلتك أو استفساراتك على المنتدى.

أسئلة وأجوبة

** كيفية مقارنة ودمج ملفات التعليمات البرمجية المصدر في Java؟ **

قم بتهيئة المقارنة مع مسار المستند المصدر أو التدفق ، واستدعاء طريقة add () ، واضبط مسار أو مسار المستند الهدف. بعد ذلك ، قم باستدعاء قارن () طريقة المقارنة للفئة.

أنظر أيضا