在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 -> C. 解析所有文件行的单词计数 -> D. 按单词出现次数排序并输出TOPN. A,B,C,D 是完全串行的 本文实现 并发版本. 并发版本的主要思路是: A. 每次获取一个符合条件的文件 -> B. 获取单个文件的所有文件行 -> C. 解析单个文件的所有单词计数 ->
由于scala没有对写入文件的支持,所以写文件时通常借助java进行IO操作 //方式一(小文件) /* val s1 = Source.fromFile("D:\\inputword\\hello.txt","GBK"); val buffer = s1.toList.toArray val des = new PrintWriter("C:\\Users\\Administrator\\Desktop\\scalatest.txt"); de
Source.fromFile(fileName)(enc: Encode),如果遇到错误: java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:277) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:337) at sun.nio.cs.
name = input("Enter file:") if len(name) < 1 : name = "input.txt" fhand = open(name) counts = dict() for line in fhand: words = line.split() for word in words: # find the value that key is word, if not, return 0 counts[word] = count