import java.io.PrintWriter
import scala.io.Source
object Test_全文单词统计 {
def main(args: Array[String]): Unit = {
//1.读入文件
val content = Source.fromFile("1.txt").mkString
println(content)
//2.把字符串拆分为一个一个的单词
//正则表达式
// \\:表示正则表达式
//W:表示一个非字(不是一个字,例如:空格,逗号,句号)
//W+:表示多个非字
val arr = content.split("\\W+")
for (word <- arr){
println(word)
}
//3.统计每个单词出现的次数
val wordMap = scala.collection.mutable.Map[String,Int]()
for (word <- arr){
// if (出现){ }
// else{}
if(wordMap.contains(word)){
wordMap(word) += 1
}else{
wordMap(word)=1
}
}
//4.排序。 Map是无序,要做排序,先要把数组转成序列, List,Array
println(wordMap.toList)
val orderWordList = wordMap.toList.sortWith((a,b)=> a._2 > b._2)
for (e <- orderWordList){
println(e)
}
val writer = new PrintWriter("out.txt")
writer.println("结果是:")
writer.println("thanks:12")
writer.close()
}
}