一.从文件中读取内容
- 把文字内容从.txt文件中读到内存中。
- 写程序分析数据。
- 把结果写入.txt文件。
- 格式:scala.io.Source.formFile(文件名)
def main(args: Array[String]): Unit = {
//1.读入文件
val content = scala.io.Source.fromFile("score.txt").mkString
println(content)
}
def main(args: Array[String]): Unit = {
//1.读入文件
val lines = scala.io.Source.fromFile("score.txt").getLines()
lines.next()//跳过第一行
while(lines.hasNext){
val line = lines.next
二.字符串拆分
//字符串拆分
val li = line.split(",")
val name = li(0)
val yuwen = li(1)
println(s"${name},${yuwen}")
}
}
输出为:
三.计算
//2.计算
stuList.foreach ( stu =>{
val total = stu.yuwen + stu.shuxue + stu.yingyu
val avg = total / 3
println(s"${stu.name}, 总分: $total, 平均分: $avg")
})
println("计算结束,开始写入")
//3.保存结果
val fileWriter = new FileWriter("score_result.txt")
fileWriter.write("高三19班成绩单 \n");
stuList.foreach(stu => {
val total = stu.yuwen +stu.yingyu + stu.shuxue
val avg = total / 3
fileWriter.write(s"${stu.name}, 总分:${total} 平均分:${avg} \n")
})
fileWriter.close()
}
//3.保存结果
val fileWriter = new FileWriter("score_result.txt")
fileWriter.write("高三19班成绩单 \n");
stuList.foreach(stu => {
val total = stu.yuwen +stu.yingyu + stu.shuxue
val avg = total / 3
fileWriter.write(s"${stu.name}, 总分:${total} 平均分:${avg} \n")
})
fileWriter.write(s"语文最高分:${stuList.map(_.yuwen).max} \n")
fileWriter.write(s"数学最高分:${stuList.map(_.shuxue).max} \n")
fileWriter.write(s"英语最高分:${stuList.map(_.yingyu ).max} \n")
fileWriter.close()
}