Zadanie 1 – Diff – JAVA

Napisać funkcję diff, której zadaniem jest sprawdzenie różnic w dwóch plikach, których nazwy podane są jako parametry funkcji.

  void diff(String plikWe1, String plikWe2)

W wyniku wywołania funkcji na konsoli powinny zostać wyświetlone linie, które w plikach są w jakiś sposób rożne, z zaznaczeniem, która to jest linia i w którym pliku – te same informacje należy zapisać do pliku wyjściowego. Jako różnicę należy potraktować dodatkowe linie (nie występujące w drugim pliku) lub zmiany w konkretniej linii, np.

  Plik 1:                                Plik 2:
  To jest pierwsza linia                 To jest pierwsza linia
  w przykładowym pliku.                  w innym pliku.
  Są też jakieś kolejne.                 Bo przecież są dwa
                                         podane pliki z liniami.
                                         Są też jakieś kolejne.

W wyniku powinno zostać wyświetlone i zapisane:

  Różnice w plikach:
  l.2 / l.2: w ''innym / przykładowym'' pliku.
  p1 l.2: w przykładowym pliku. 
  p2 l.2: w innym pliku.
  Dodatkowe linie:
  p2 l.3: Bo przecież są dwa
  p2 l.4: podane pliki z liniami.

Dodatkowe uwagi:

  1. Wynik porównania poza wyświetlaniem na ekran zapisywać dodatkowo w pliku, którego nazwa jest taka sama, jak nazwa pierwszego pliku, ale posiada przedrostek ‚diff_’.
  2. Wyświetlać informacje o liczbie zmienionych linii (różnic) oraz liczbie dodatkowych linii (nowych) w obydwóch plikach.
  3. W podstawowej (gorzej ocenionej wersji) można pominąć informację o tym jakie zmiany zostały wprowadzone, czyli dla podanego powyżej przykładu można pominąć linię:
      l.2 / l.2: w ''innym / przykładowym'' pliku.
    

Reszta pozostaje tak samo, jak we wcześniejszej wersji.

Proszę również dodać kolejne, przydatne w praktyce elementy — zgodnie z własną inwencją.

Co to jest diff?

Proszę przeczytać i nie wzorować się na podanym przykładzie, bo jest on nieco inny: Diff