(一)任务分析
-
把文字内容从.txt文件中读到内存中。
-
写程序分析数据。
-
把结果写入.txt文件。
(二)从文件中读出内容
在scala中,涉及到文件读写的方法有很多,可以使用java.io下的工具包,也可以使用scala.io下的功能。
下面介绍source.fromFile这个方法。
格式:scala.io.Source.formFile(文件名)
作用:读入一个文件
提问:如果想要直接得到文本文件,怎么办呢?
使用mkString方法即可。
import scala.io.Source
val content = Source.fromFile("example.txt").mkString
println(content)
(三)写拆分单词统计个数
提问:现在读出了全部的文本内容,如何去分析每个单词的个数?
思路:
1. 分隔出一个一个的单词。
2. 建立一个Map,key是单词,value是次数。
3. 遍历所有的单词,对每个单词来说:
判断单词是否存在,如果存在把对应的key+1;
否则就设置对应的key,且value为1
(四)对Map结果排序
提问:现在如何对结果进行排序呢?
Map本身是键值对,它是无序的。可以先转成List或者Seq,然后再排序。
(五)结果写入
使用java.io.PrintWriter写入文件的示例:
import java.io.PrintWriter
object PrintWriterExample {
def main(args: Array[String]) {
val writer = new PrintWriter("output.txt")
writer.write("Hello, Scala PrintWriter!")
writer.close()
}}
write:不会自动换行,可以加入\n; println:写入一行