Сравните файлы CSV в Java

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

Ниже рассматриваются следующие темы:

API Java для сравнения файлов 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 с использованием 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.
  • Выполните сравнение загруженных файлов с помощью метода compare.
  • Получить выявленные изменения с помощью метода 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-приложений.

Вы можете найти множество других опций для настройки результатов сравнения. Вы можете установить чувствительность сравнения, показывать только сводную страницу, игнорировать пробелы и многое другое. Узнайте об этих функциях из документации.

Вы можете начать создавать собственные приложения для сравнения различных поддерживаемых форматов документов. По вопросам обращайтесь к нам через форум.

Смотрите также