Анализ строк двух файлов - Java

Узнай цену своей работы

Формулировка задачи:

Добрый день! Я получаю содержимое двух файлов .java или .xml , мне необходимо сравнить два файла и найти в них кол-во отличающихся строк, подскажите, мб есть уже готовый алгоритм или тулз какой-нибудь ?
вот нашел такую штуку https://www.diffchecker.com/ только как туда через java загрузить два текстовых файла и получить результат сравнения

Решение задачи: «Анализ строк двух файлов»

textual
Листинг программы
private static int getCountLinesFromFiles()
    {
        Map<Integer, String> mapAfter = new HashMap<Integer, String>();
        Map<Integer, String> mapBefore = new HashMap<Integer, String>();
        int line = 0;
        try{
            BufferedReader bufferedReader = new BufferedReader(new FileReader("after.txt"));
            while(bufferedReader.readLine()!=null){
                line++;
                String buffLine = bufferedReader.readLine();
                if (!mapAfter.containsValue(buffLine))
                    mapAfter.put(line, buffLine);
            }
            bufferedReader.close();
            bufferedReader = new BufferedReader(new FileReader("before.txt"));
            line = 0;
            while(bufferedReader.readLine()!=null){
                line++;
                String buffLine = bufferedReader.readLine();
                if (!mapBefore.containsValue(buffLine))
                    mapBefore.put(line, buffLine);
            }
            bufferedReader.close();
        }catch(Exception e){}
        return findDiffLines(mapAfter, mapBefore);
    }
    
    public static int findDiffLines(Map<Integer, String> mapAfter, Map<Integer, String> mapBefore){
        int diffLines = mapAfter.size() > mapBefore.size() ? 0 : mapBefore.size() - mapAfter.size();
        for (String value : mapAfter.values()) {
            if (!mapBefore.containsValue(value))
                diffLines++;
        }
        return diffLines;
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5