Порівняйте файли CSV у Java

Ми вже обговорювали основний спосіб порівняння двох файлів CSV у наших програмах Java. Сьогодні в цій статті ми далі навчимося порівнювати більше двох CSV у Java. Далі ми обговоримо, як порівнювати файли CSV, захищені паролем. Нарешті, ми розглянемо, як приймати та відхиляти знайдені зміни за допомогою API порівняння в програмі Java.

Нижче описано наступні теми:

Java API для порівняння файлів CSV

GroupDocs.Comparison демонструє свій API Java, який дозволяє порівнювати файли 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 за допомогою Java вже обговорювалося в окремій статті. Там ми розглянули вихідний код Java для порівняння файлів, зразок введення та вихідний файл порівняння. Ви можете переглянути цю статтю, перш ніж рухатися далі.

Порівняйте більше двох файлів CSV у Java

Якщо вимогою є порівняння більше двох файлів CSV, це дуже схоже, оскільки ми порівнюємо лише два файли. Просто додайте третій файл до об’єкта Comparer.

Нижче наведено кроки для порівняння більше двох файлів CSV у Java.

  • Створіть екземпляр класу Comparer з першим файлом CSV.
  • Додайте другий файл за допомогою відповідного методу додавання.
  • Так само додайте стільки інших файлів CSV за допомогою методів додавання.
  • Нарешті, викличте метод порівняння, щоб отримати результати порівняння.

Наведений нижче вихідний код Java порівнює кілька файлів CSV. У результаті порівняння генеруються окремі файли CSV і HTML. Вихідний файл HTML виділяє ідентифіковані зміни різними кольорами.

// Порівняйте кілька (більше 2) файлів CSV у Java

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

Подібно до функції відстеження змін Microsoft Word, яка дозволяє нам приймати або відхиляти внесені зміни в документах. Ви можете реалізувати ту саму функцію в програмах Java. Після порівняння файлів ви можете прийняти або відхилити кожну з визначених змін. Нижче наведено кроки для порівняння файлів CSV і прийняття чи відхилення визначених змін.

  • Завантажте вихідний і цільовий файли CSV за допомогою класу Comparer.
  • Виконайте порівняння завантажених файлів за допомогою методу порівняння.
  • Отримайте ідентифіковані зміни за допомогою методу getChanges.
  • Тепер ви можете переглядати зміни та встановлювати їх ComparisonAction відповідно для кожної зміни.
    • Для узгоджених змін ви можете встановити як ПРИЙНЯТИ.
    • Для неузгоджених змін ви можете встановити значення REJECT.
  • Нарешті, викличте метод applyChanges, щоб отримати результуючий документ із застосованими змінами.

Наведений нижче вихідний код Java порівнює два файли CSV, а потім приймає та відхиляє знайдені зміни.

// Приймайте або відхиляйте виявлені зміни, порівнюючи файли CSV у Java

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.

Ви можете знайти багато інших параметрів для налаштування результатів порівняння. Ви можете встановити чутливість порівняння, відображати лише сторінку підсумків, ігнорувати прогалини та багато іншого. Дізнайтеся про ці функції з документації.

Ви можете почати створювати власні програми порівняння для різних підтримуваних форматів документів. Якщо у вас виникли запитання, зв’яжіться з нами через форум.

Дивись також