SortedMap<String,Double> computeIDF(String string, Map<String, Double> wordMap) throws IOException {
		// TODO Auto-generated method stub
		File fileDir = new File(string);
		String word;
		SortedMap<String,Double> IDFPerWordMap = new TreeMap<String,Double>();	
		Set<Map.Entry<String, Double>> wordMapSet = wordMap.entrySet();
		for(Iterator<Map.Entry<String, Double>> pt = wordMapSet.iterator(); pt.hasNext();){
			Map.Entry<String, Double> pe = pt.next();
			Double coutDoc = 0.0;
			String dicWord = pe.getKey();
			File[] sampleDir = fileDir.listFiles();
			for(int i = 0; i < sampleDir.length; i++){
				File[] sample = sampleDir[i].listFiles();
				for(int j = 0;j < sample.length; j++){
					FileReader samReader = new FileReader(sample[j]);
					BufferedReader samBR = new BufferedReader(samReader);
					boolean isExited = false;
					while((word = samBR.readLine()) != null){
						if(!word.isEmpty() && word.equals(dicWord)){
							isExited = true;
							break;
						}
					}
					if(isExited) coutDoc++;	
					}	
				}
			//㵥ʵIDF
			Double IDF = Math.log(20000 / coutDoc) / Math.log(10);
			IDFPerWordMap.put(dicWord, IDF);
			}
		return IDFPerWordMap;
	}