要求:请编写一个程序,统计一个文件列表中,每个单词出现的次数。
例如,文件内容是:
i am a boy
i have a dog
你应该返回一个Map:{i->2, am->1, a->2, boy->1, have->1, dog->1}
首先使用线程池统计单个文件中单词出现的次数:
package com.github.hcsp.multithread;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.*;
public class MultiThreadWordCount2 {
private final int threadnum;
private ExecutorService threadPool;
public static void main(String[] args) throws FileNotFoundException, ExecutionException, InterruptedException {
File file = new File("C:\\Users\\25224\\Desktop\\text.txt.txt");
MultiThreadWordCount2 faf = new MultiThreadWordCount2(10);
System.out.println(faf.count(10, file));