مقایسه فایل های CSV در جاوا

ما قبلاً [روش اصلی مقایسه دو فایل CSV] را در برنامه های Java مورد بحث قرار داده ایم. امروز، در این مقاله، مقایسه بیش از دو CSV در Java را بیشتر خواهیم آموخت. ما بیشتر در مورد نحوه مقایسه فایل های CSV محافظت شده با رمز عبور بحث خواهیم کرد. در نهایت، نحوه پذیرش و رد تغییرات یافت شده را با استفاده از API مقایسه در برنامه Java بررسی خواهیم کرد.

موضوعات زیر در زیر پوشش داده شده است:

Java API برای مقایسه فایل‌های CSV

GroupDocs.Comparison Java API خود را به نمایش می گذارد که امکان مقایسه فایل های CSV را با گزینه های مختلف فراهم می کند. من دوباره از آن برای مقایسه فایل های CSV در برنامه Java استفاده خواهم کرد. علاوه بر این، از مقایسه بیش از دو فایل CSV، پذیرش و رد تغییرات کشف شده و مقایسه فایل های محافظت شده با رمز عبور پشتیبانی می کند.

دانلود و پیکربندی کنید

کتابخانه مقایسه CSV را از بخش دانلودها دریافت کنید. برای برنامه های Java مبتنی بر Maven، پیکربندی زیر را در pom.xml اضافه کنید.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-comparison</artifactId>
        <version>22.3</version> 
</dependency>

نمونه های در حال اجرا برای ویژگی های آن نیز در GitHub موجود است. برای راهنمایی به اسناد و مرجع API آن مراجعه کنید.

مقایسه فایل های CSV در Java

مقایسه اساسی دو فایل CSV با استفاده از جاوا قبلاً در مقاله ای جداگانه مورد بحث قرار گرفته است. در آنجا، ما به مقایسه فایل کد منبع جاوا، نمونه ورودی و فایل خروجی مقایسه نگاه کردیم. شما می توانید قبل از حرکت به جلو از آن مقاله دیدن کنید.

مقایسه بیش از دو فایل CSV در Java

اگر نیاز به مقایسه بیش از دو فایل CSV باشد، کاملا مشابه است زیرا ما فقط دو فایل را با هم مقایسه می کنیم. فقط فایل سوم را به شی Comparer اضافه کنید.

مراحل زیر برای مقایسه بیش از دو فایل CSV در Java آمده است.

  • کلاس Comparer را با اولین فایل CSV نمونه سازی کنید.
  • فایل دوم را با استفاده از روش افزودن مناسب اضافه کنید.
  • به طور مشابه، با استفاده از روش‌های افزودن، به تعداد فایل‌های CSV دیگر اضافه کنید.
  • در نهایت، روش مقایسه را فراخوانی کنید تا نتایج مقایسه را دریافت کنید.

کد منبع Java زیر چندین فایل CSV را مقایسه می کند. همانطور که نتیجه مقایسه، فایل های CSV و HTML جداگانه تولید می کند. فایل خروجی HTML تغییرات شناسایی شده را در رنگ های مختلف برجسته می کند.

// مقایسه چندین (بیش از 2) فایل CSV در جاوا

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");
comparer.add("path/comma-separated-file-3.csv");
// ...
// ...
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

فایل های CSV محافظت شده با رمز عبور را در Java مقایسه کنید

گزینه های مختلفی وجود دارد که می توان از آنها در هنگام بارگیری اسناد مختلف استفاده کرد. اگر فایل‌های CSV شما دارای رمز عبور هستند، می‌توانید رمز عبور را هنگام بارگیری ارائه کنید. بقیه مراحل برای مقایسه چندین فایل CSV محافظت شده با رمز عبور یکسان است.

مراحل زیر برای مقایسه فایل های CSV محافظت شده با رمز عبور در Java آورده شده است.

  • گزینه های بارگیری را با استفاده از کلاس LoadOptions آماده کنید و رمز عبور را برای باز کردن فایل CSV تنظیم کنید.
  • اکنون اولین فایل CSV را برای مقایسه در حین تنظیم اولیه کلاس Comparer بارگذاری کنید.
  • فایل دوم را با استفاده از روش افزودن مناسب اضافه کنید.
  • به طور مشابه، با استفاده از هر یک از روش های افزودن، به تعداد فایل های CSV دیگر اضافه کنید.
  • در نهایت روش مقایسه را فراخوانی کنید تا نتیجه مقایسه همه فایل های اضافه شده را بدست آورید.

کد منبع زیر چندین فایل CSV محافظت شده با رمز عبور را در Java مقایسه می کند و نتایج مقایسه را ایجاد می کند.

// فایل های CSV محافظت شده با رمز عبور را با استفاده از Java مقایسه کنید

Comparer comparer = new Comparer("path/comma-separated-file-1.csv", new LoadOptions("file1-password"));
comparer.add("path/comma-separated-file-2.csv", new LoadOptions("file2-password"));
final Path outputFilePath = comparer.compare("path/comparison-result.csv");

پذیرش یا رد تغییرات شناسایی شده فایل‌های CSV در Java

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

  • فایل‌های CSV منبع و هدف را با استفاده از کلاس Comparer بارگیری کنید.
  • مقایسه فایل های بارگذاری شده را با استفاده از روش مقایسه انجام دهید.
  • تغییرات شناسایی شده را با استفاده از روش getChanges واکشی کنید.
  • اکنون می توانید تغییرات را طی کنید و ComparisonAction آنها را بر اساس آن برای هر تغییر تنظیم کنید.
    • برای تغییرات توافق شده می توانید آن را به عنوان ACCEPT تنظیم کنید.
    • برای تغییرات مخالف می توانید آن را به عنوان رد تنظیم کنید.
  • در نهایت، متد applyChanges را فراخوانی کنید تا سند حاصل دارای تغییرات اعمال شده باشد.

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

// با مقایسه فایل‌های CSV در جاوا، تغییرات شناسایی‌شده را بپذیرید یا رد کنید

Comparer comparer = new Comparer("path/comma-separated-file-1.csv");
comparer.add("path/comma-separated-file-2.csv");

comparer.compare("path/comparison-result.csv");

ChangeInfo[] changes = comparer.getChanges();
changes[0].setComparisonAction(ComparisonAction.REJECT);
changes[1].setComparisonAction(ComparisonAction.ACCEPT);

comparer.applyChanges("path/comparison-result.csv", new SaveOptions(), new ApplyChangeOptions(changes));

مجوز API رایگان دریافت کنید

برای استفاده از API بدون محدودیت های ارزیابی، می توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

به طور خلاصه، امروز روش Java را یاد گرفتیم که چگونه دو یا چند فایل CSV را مقایسه کنیم. همراه با گزینه پذیرش و رد تغییرات شناسایی شده، ما همچنین یاد گرفتیم که فایل های CSV محافظت شده با رمز عبور را در برنامه های Java مقایسه کنیم.

شما می توانید بسیاری از گزینه های دیگر را برای سفارشی کردن نتایج مقایسه پیدا کنید. می توانید حساسیت مقایسه را تنظیم کنید، فقط صفحه خلاصه را نشان دهید، شکاف ها را نادیده بگیرید و بسیاری موارد دیگر. در مورد این ویژگی ها از [اسناد] اطلاعات کسب کنید.

می توانید شروع به ساخت برنامه های مقایسه ای خود برای [فرمت های سند پشتیبانی شده] مختلف کنید. برای سؤالات، از طریق [فروم 8 با ما تماس بگیرید.

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