读取一个日志文件,根据空格分词,统计各个单词的出现次数。 来看一下 Java8的写法
@Test
public void fp() throws IOException {
Path path = Paths.get("C:\\xiaoniu_doc\\ideaProjects\\test\\src\\main\\java\\com\\xiaoniu\\utils\\DateUtils.java");
Files.readAllLines(path)
.parallelStream()
.map(line -> line.split(" "))
.flatMap(Arrays::stream)
.collect(Collectors.groupingBy(String::toString))
.forEach((k,v) -> System.out.println("word: " + k + ", count: " + v.size()));
}
简直不要太爽,想象一下如果不是 Java8的写法该写多少代码