请创建一个scala代码读入该文件并统计每个单词的数量,按照数量的降序排序输出。
时间: 2024-03-03 21:51:31 浏览: 65
好的,以下是Scala代码实现:
```scala
import scala.io.Source
object WordCount {
def main(args: Array[String]): Unit = {
val filename = "path/to/your/file.txt"
val words = Source.fromFile(filename).getLines.flatMap(_.split("\\W+"))
val wordCount = words.foldLeft(Map.empty[String, Int]) {
(count, word) => count + (word -> (count.getOrElse(word, 0) + 1))
}
val sortedWordCount = wordCount.toSeq.sortWith(_._2 > _._2)
sortedWordCount.foreach { case (word, count) => println(s"$word: $count") }
}
}
```
其中,`filename` 是你要统计的文件名或路径,可以根据实际情况进行修改。代码首先使用 `Source.fromFile` 读取文件内容,然后使用 `flatMap` 将每行内容按照非单词字符分割成一个个单词,最后使用 `foldLeft` 统计每个单词出现的次数。最后将结果转换成一个序列,并按照单词数量降序排序,最终输出每个单词及其出现次数。
阅读全文