1任务分析
-
把文字内容从.txt文件中读到内存中。
-
写程序分析数据。
-
把结果写入.txt文件。
2从文件中读出内容
在scala中,涉及到文件读写的方法有很多,可以使用java.io下的工具包,也可以使用scala.io下的功能。
下面介绍source.fromFile这个方法。
格式:scala.io.Source.formFile(文件名)
作用:读入一个文件
3写拆分单词统计个数
思路:
1. 分隔出一个一个的单词。
2. 建立一个Map,key是单词,value是次数。
3. 遍历所有的单词,对每个单词来说:
判断单词是否存在,如果存在把对应的key+1;
否则就设置对应的key,且value为1
val words = inputString.split("\\W+")
val wordCountMap = mutable.Map[String, Int]()
for (word <- words) {
if (wordCountMap.contains(word)) {
wordCountMap(word) += 1
} else {
wordCountMap(word) = 1
}
}
\\W+,表示一个非字符。
4对Map结果排序
Map本身是键值对,它是无序的。可以先转成List或者Seq,然后再排序。
5结果写入
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:写入一行