مقایسه پوشه های جاوا

هنگام کار با پوشه های متعدد، ضروری است که محتویات آنها را از نظر سازگاری، تشخیص تغییرات یا تشخیص اختلاف بین نسخه های مختلف فایل ها مقایسه کنید. در این آموزش، نحوه مقایسه دو پوشه در جاوا را توضیح خواهیم داد. نتیجه مقایسه به عنوان یک گزارش HTML صادر می شود، که در آن تفاوت های کد رنگی تغییرات بین فهرست ها را به صورت بصری برجسته می کند.

چرا پوشه ها را مقایسه کنیم؟

دلایل مختلفی وجود دارد که ممکن است بخواهید پوشه ها را با هم مقایسه کنید:

  • کنترل نسخه: تغییرات یا اضافات فایل را در پوشه های پشتیبان یا استقرار بررسی کنید.
  • اعتبار سنجی پشتیبان: اطمینان حاصل کنید که فایل های موجود در دو دایرکتوری مطابقت دارند تا از دست دادن داده ها جلوگیری شود.
  • همگام سازی فایل: تشخیص اینکه آیا همه فایل ها به درستی بین فهرست های محلی و راه دور همگام سازی شده اند یا خیر.

با مقایسه پوشه‌ها در جاوا، می‌توانید به سرعت مغایرت‌های فایل‌ها را شناسایی کنید و اقدامات لازم مانند کپی، حذف یا به‌روزرسانی فایل‌ها را انجام دهید.

مقایسه پوشه ها - پیکربندی Java API

با نصب Conholdate.Total for Java در انتهای خود می توانید پوشه ها یا فهرست ها را به راحتی با هم مقایسه کنید. فقط پیکربندی های Maven زیر را در فایل pom.xml برنامه خود کپی کنید:

<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.8</version>
<type>pom</type>
</dependency>

مقایسه پوشه ها در جاوا

مراحل زیر نحوه مقایسه پوشه ها در جاوا را شرح می دهد:

  • تنظیم CompareOptions: شی CompareOptions به گونه ای پیکربندی شده است که با تنظیم یک مقدار بولی، مقایسه در سطح دایرکتوری را فعال کند.

  • استفاده از کلاس Comparer: Comparer با مسیر اولین پوشه مقداردهی اولیه می شود. عبارت try-with-resources اطمینان حاصل می کند که مقایسه کننده به طور خودکار پس از عملیات بسته می شود.

  • افزودن دومین پوشه: با استفاده از متد add، دایرکتوری دوم را مشخص کنید.

  • ایجاد گزارش HTML: متد compare() محتویات هر دو پوشه را مقایسه می کند و نتایج را در یک فایل HTML ذخیره می کند.

کد نمونه زیر نحوه مقایسه پوشه ها در جاوا را نشان می دهد:

// یک شی از کلاس CompareOptions ایجاد کنید
com.groupdocs.comparison.options.CompareOptions compareOptions = new com.groupdocs.comparison.options.CompareOptions();
compareOptions.setDirectoryCompare(true);

// نمونه ای از کلاس Comparer را راه اندازی کنید و پوشه ها را مشخص کنید
try (com.groupdocs.comparison.Comparer comparer = new com.groupdocs.comparison.Comparer("C:\\folder1\\", compareOptions)) {
    comparer.add("C:\\folder2\\", compareOptions);
    
    // مقایسه پوشه ها
    comparer.compare("C:\\res.html", compareOptions);
}

درک گزارش HTML

خروجی HTML یک نمایش بصری واضح از تفاوت های بین دو دایرکتوری ارائه می دهد. فایل ها به صورت زیر دارای کد رنگی هستند:

  • قرمز: فایل هایی که از folder2 حذف شده اند اما در folder1 وجود دارند.
  • آبی: فایل هایی که در folder2 اصلاح شده یا به تازگی اضافه شده اند.
  • سیاه: فایل هایی که هم در folder1 و هم در folder2 یکسان هستند.

این رویکرد فرآیند مقایسه پوشه ها را ساده می کند و توسعه دهندگان را قادر می سازد تا به سرعت تغییرات یا فایل های از دست رفته را شناسایی کنند.

مجوز ارزیابی رایگان

شما می توانید برای آزمایش و ارزیابی چندین ویژگی ارائه شده در API، بدون هیچ گونه محدودیت ارزیابی، مجوز موقت رایگان درخواست کنید.

جمع بندی

مقایسه پوشه ها در جاوا یک راه قدرتمند برای اطمینان از یکپارچگی و همگام سازی فهرست فایل ها است. با استفاده از کلاس Comparer و ایجاد یک گزارش HTML، می‌توانید به راحتی تفاوت‌های بین دو پوشه را ردیابی کنید و تغییرات، حذف‌ها و فایل‌های اصلاح نشده را به صورت بصری تشخیص دهید. این به ویژه برای کنترل نسخه، پشتیبان گیری، و وظایف همگام سازی فایل مفید است. اگر نیاز به بحث در مورد هر یک از سؤالات خود دارید، لطفاً با ما در [فروم 3 تماس بگیرید.

همچنین ببینید