Porównaj pliki CSV w Javie

Omówiliśmy już podstawowy sposób porównywania dwóch plików CSV w naszych aplikacjach Java. Dzisiaj w tym artykule nauczymy się dalej porównywać więcej niż dwa CSV w Javie. Omówimy dalej, jak porównywać pliki CSV chronione hasłem. Na koniec przyjrzymy się, jak zaakceptować i odrzucić znalezione zmiany za pomocą interfejsu API porównania w aplikacji Java.

Poniżej omówiono następujące tematy:

Java API do porównywania plików CSV

GroupDocs.Comparison prezentuje swój Java API, który umożliwia porównywanie plików CSV z różnymi opcjami. Ponownie użyję go do porównania plików CSV w aplikacji Java. Dodatkowo obsługuje porównywanie więcej niż dwóch plików CSV, akceptowanie i odrzucanie wykrytych zmian oraz porównywanie plików chronionych hasłem.

Pobierz i skonfiguruj

Pobierz bibliotekę porównawczą plików CSV z sekcji pliki do pobrania. W przypadku aplikacji Java opartych na Maven dodaj następującą konfigurację w pliku 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>

Uruchomione przykłady jego funkcji są również dostępne na GitHub. Odwiedź jego dokumentację i API Reference, aby uzyskać wskazówki.

Porównaj pliki CSV w Javie

Podstawowe porównanie dwóch plików CSV przy użyciu Javy zostało już omówione w osobnym artykule. Tam przyjrzeliśmy się kodowi źródłowemu Java porównania plików, przykładowemu wejściu i plikowi wyjściowemu porównania. Możesz odwiedzić ten artykuł, zanim przejdziesz dalej.

Porównaj więcej niż dwa pliki CSV w Javie

Jeśli wymaganiem jest porównanie więcej niż dwóch plików CSV, jest to dość podobne, ponieważ porównujemy tylko dwa pliki. Po prostu dodaj trzeci plik do obiektu Comparer.

Poniżej przedstawiono kroki, aby porównać więcej niż dwa pliki CSV w Javie.

  • Utwórz instancję klasy Comparer z pierwszym plikiem CSV.
  • Dodaj drugi plik, używając odpowiedniej metody dodawania.
  • Podobnie dodaj jak najwięcej innych plików CSV za pomocą metod dodawania.
  • Na koniec wywołaj metodę porównania, aby uzyskać wyniki porównania.

Poniższy kod źródłowy Java porównuje wiele plików CSV. W wyniku porównania generuje osobne pliki CSV i HTML. Wyjściowy plik HTML wyróżnia zidentyfikowane zmiany różnymi kolorami.

// Porównaj wiele (więcej niż 2) plików CSV w Javie

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");

Porównaj chronione hasłem pliki CSV w Javie

Istnieją różne dostępne opcje, których można użyć podczas ładowania różnych dokumentów. Jeśli Twoje pliki CSV są chronione hasłem, możesz podać hasło podczas ładowania. Pozostała część procedury pozostaje taka sama w przypadku porównywania wielu plików CSV chronionych hasłem.

Poniżej przedstawiono kroki, jak porównać pliki CSV chronione hasłem w Javie.

  • Przygotuj opcje ładowania za pomocą klasy LoadOptions i ustaw hasło, aby otworzyć plik CSV.
  • Teraz załaduj pierwszy plik CSV do porównania podczas inicjowania klasy Comparer.
  • Dodaj drugi plik, używając odpowiedniej metody dodawania.
  • Podobnie dodaj tyle innych plików CSV, korzystając z dowolnej metody dodawania.
  • Na koniec wywołaj metodę porównania, aby uzyskać wynik porównania wszystkich dodanych plików.

Poniższy kod źródłowy porównuje wiele chronionych hasłem plików CSV w Javie i generuje wyniki porównania.

// Porównaj pliki CSV chronione hasłem przy użyciu języka 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");

Zaakceptuj lub odrzuć zidentyfikowane zmiany plików CSV w Javie

Podobnie jak funkcja śledzenia zmian w Microsoft Word, która pozwala nam zaakceptować lub odrzucić wprowadzone zmiany w dokumentach. Możesz zaimplementować tę samą funkcję w aplikacjach Java. Po przeprowadzeniu porównania plików możesz zaakceptować lub odrzucić każdą ze zidentyfikowanych zmian. Poniżej przedstawiono kroki, aby porównać pliki CSV i zaakceptować lub odrzucić zidentyfikowane zmiany.

  • Załaduj źródłowe i docelowe pliki CSV przy użyciu klasy Comparer.
  • Wykonaj porównanie załadowanych plików przy użyciu metody porównania.
  • Pobierz zidentyfikowane zmiany za pomocą metody getChanges.
  • Teraz możesz przeglądać zmiany i odpowiednio ustawiać ich ComparisonAction dla każdej zmiany.
    • Dla uzgodnionych zmian możesz ustawić ją jako AKCEPTUJ.
    • Dla niezgodnych zmian możesz ustawić je jako ODRZUCENIE.
  • Na koniec wywołaj metodę applyChanges, aby uzyskać wynikowy dokument z zastosowanymi zmianami.

Poniższy kod źródłowy Java porównuje dwa pliki CSV, a następnie akceptuje i odrzuca znalezione zmiany.

// Zaakceptuj lub odrzuć zidentyfikowane zmiany, porównując pliki CSV w Javie

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));

Uzyskaj bezpłatną licencję API

Możesz otrzymać bezpłatną licencję tymczasową, aby korzystać z API bez ograniczeń ewaluacyjnych.

Wniosek

Podsumowując, dzisiaj nauczyliśmy się jak w Javie porównywać dwa lub więcej plików CSV. Oprócz możliwości akceptacji i odrzucenia zidentyfikowanych zmian, nauczyliśmy się również porównywać chronione hasłem pliki CSV w aplikacjach Java.

Możesz znaleźć wiele innych opcji, aby dostosować wyniki porównania. Możesz ustawić czułość porównania, pokazać tylko stronę podsumowania, zignorować luki i wiele więcej. Dowiedz się więcej o tych funkcjach z dokumentacji.

Możesz zacząć tworzyć własne porównywarki dla różnych obsługiwanych formatów dokumentów. W przypadku pytań skontaktuj się z nami za pośrednictwem forum.

Zobacz też