scala IO案例

import java.io.{BufferedWriter, FileWriter}
import scala.collection.mutable.ListBuffer
import scala.io.Source

object StuGrade {

  case class Student(var name: String,
                     var chinese: Int,
                     var math: Int,
                     var english: Int) {
    def getSum: Int = chinese + math + english
  }

  def main(args: Array[String]): Unit = {
    val source = Source.fromFile("./data/student.txt")
    val stuArr: Iterator[Array[String]] = source.getLines().map(_.split(" "))
    val stuList = ListBuffer[Student]()
    // 遍历获取到的对象,将其封装成Student对象后,添加到List中
    for (s <- stuArr) {
      stuList += Student(s(0), s(1).toInt, s(2).toInt, s(3).toInt)
    }
    // 对列表按总成绩进行降序排序
    val sortList = stuList.sortBy(_.getSum).reverse.toList
    val bw = new BufferedWriter(new FileWriter("./data/stu.txt"))
    for (s <- sortList) {
      bw.write(s"${s.name}\t${s.chinese}\t${s.math}\t${s.english}\t${s.getSum}")
      bw.newLine()
    }
    bw.close()
    source.close()
  }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值