Разница между файлами - сложная тема в целом, но она зависит от того, какую разницу вы бы хотели заметить.Например, минимальная разница?Или, может быть, будет нормально сообщить об изменении строк N-1, если пропущена только первая строка?Инструмент diff
это решает.Вы можете проверить связанный поток по этому вопросу:
Алгоритм различий?
File("a").useLines { a ->
File("b").useLines { b ->
val aIt = a.iterator()
val bIt = b.iterator()
//Do the DIFF on iterators
}
}
Код читает файлы в Kotlin построчно ленивым способом (используя последовательности).Далее вы можете использовать итераторы для реализации алгоритма сравнения.