scala文件读写-全文单词统计

1.读入文件

2.把字符串拆分为一个一个的单词

创建一个文件,内容为英文

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()

  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值