Scala编程两个文件data_a.txt,data_b.txt合并,并剔除重复内容
时间: 2024-02-11 16:05:47 浏览: 84
多个txt合并后,去掉重复的行数
你可以使用以下Scala程序来实现这个功能:
```scala
import scala.io.Source
import java.io.PrintWriter
object MergeFiles {
def main(args: Array[String]): Unit = {
val fileA = Source.fromFile("data_a.txt")
val fileB = Source.fromFile("data_b.txt")
val combined = fileA.getLines().toSet ++ fileB.getLines().toSet
val writer = new PrintWriter("data_combined.txt")
combined.foreach(writer.println)
writer.close()
fileA.close()
fileB.close()
}
}
```
首先,通过`Source.fromFile`方法读取`data_a.txt`和`data_b.txt`文件。然后,我们使用`toSet`方法将每个文件中的行转换为集合,并使用`++`运算符将两个集合合并为一个。由于集合不允许重复的元素,因此重复的行将被自动剔除。
最后,我们使用`PrintWriter`将结果写入`data_combined.txt`文件,然后关闭所有打开的文件。最终,`data_combined.txt`文件中将包含两个文件中的所有行,且不包含重复的行。
阅读全文