科特林同时读取2个文件

时间:2019-03-15 11:33:21

标签: file kotlin readfile

我需要读取2个文件并逐行比较它们的内容。所以我需要类似file.readNextLine()的功能。我如何在Kotlin做到这一点?

编辑: 这两个文件都已排序。第一个文件中不存在某些行,第二个文件中不存在某些行。我需要找到这种差异。

1 个答案:

答案 0 :(得分:1)

文件之间的差异通常是一个很难的话题,但这取决于您要发现哪种差异。例如,差异最小?或者,如果仅缺少第一行,您可以报告N-1行更改吗? 使用diff工具可以解决此问题。您可以检查以下相关线程:
Diff Algorithm?


    File("a").useLines { a ->
      File("b").useLines { b -> 

        val aIt = a.iterator()
        val bIt = b.iterator()

        //Do the DIFF on iterators
      }
    } 

该代码以逐行惰性方式(使用序列)读取Kotlin中的文件。接下来,您可以使用迭代器来实现diff算法。