بصفتك مطور Java ، إذا كنت تنوي إنشاء ** أداة مقارنة شفرة المصدر ** أو تطبيق أو قد تحتاج إلى إدارة عدة إصدارات من ملفات التعليمات البرمجية ، فقد تفكر في كيفية ** مقارنة ملفات التعليمات البرمجية المصدر ودمجها في 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 باتباع الخطوات الموضحة أدناه:
- قم بتهيئة فئة المقارنة بمسار أو دفق الوثيقة المصدر.
- قم باستدعاء طريقة add () وحدد مسار المستند المستهدف أو التدفق.
- استدعاء طريقة قارن ().
يوضح نموذج التعليمات البرمجية التالي مدى سهولة مقارنة ملفات التعليمات البرمجية المصدر ودمجها في 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
للحصول على قائمة بجميع التغييرات بعد المقارنة ، يجب كتابة الكود وفقًا للخطوات التالية:
- قم بتهيئة المقارنة الكائن بمسار الملف المصدر.
- قم باستدعاء طريقة add () وحدد مسار الملف الهدف.
- استدعاء طريقة قارن ().
- احصل على قائمة التغييرات باستخدام طريقة 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
إذا كنت بحاجة إلى قبول أو رفض عدة إصدارات من التعليمات البرمجية ، فقد تضطر إلى تطبيق التغييرات أو تجاهلها. في هذه الحالة ، يرجى اتباع الخطوات الواردة أدناه:
- قم بتهيئة كائن من فئة المقارنة مع مسار المستند المصدر أو الدفق.
- قم باستدعاء طريقة add () وحدد مسار المستند الهدف.
- استدعاء طريقة قارن ().
- قم باستدعاء أسلوب getChanges () واحصل على قائمة التغييرات المكتشفة.
- قم بتعيين ComparisonAction من كائن التغيير المطلوب إلى ComparisonAction.ACCEPT أو ComparisonAction.REJECT القيمة.
- قم باستدعاء طريقة 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 () ، واضبط مسار أو مسار المستند الهدف. بعد ذلك ، قم باستدعاء قارن () طريقة المقارنة للفئة.