一:任务分析
-
把文字内容从.txt文件中读到内存中。
-
写程序分析数据。
-
把结果写入.txt文件。
二:从文件中读出内容
在scala中,涉及到文件读写的方法有很多,可以使用java.io下的工具包,也可以使用scala.io下的功能。
下面介绍source.fromFile这个方法。
格式:scala.io.Source.formFile(文件名)
作用:读入一个文件
def main(args: Array[String]): Unit = {
val content = "I am studying scala. I like scala.";
//2. 把字符拆分成单词
val list = content.split(" "); // 使用空格 去拆分字符串,结果是一个List
// 3.统计每个单词出现的次数
// 新建一个Map("I" -> I, "am" -> 2)
val map1 = scala.collection.mutable.Map("I" -> 0)
// 对于list中的每个单词,
list.foreach(word =>{
// 检查它在Map中是否存在?
// println(word,map1.contains(word))
if(map1.contains(word)){
map1(word) += 1 // 存在: 把它的值+1
} else {
map1(word) = 1 // 不存在:把它的值设为1
}
})
// 4.对结果排序(降序排列)
// Map本身是无序的,他没有排序的功能
// 如果对他的内容进行降序,那么,我们要把他转换成可以排序的集合:List
// sortBy排序 根据元组的第二个值
// reverse: 翻转
val wordList = map1.toList.sortBy(_._2).reverse
wordList.foreach(el => println(el))
}