Анализ строк двух файлов - 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; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д