Java编程实现统计一个文本文件中,字母出现的次数或单词出现的次数
package cn.zixinyuan;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>Project: zixinyuan - OracleUtil
*
* @author zixinyuanya [2991228540@]
* @version 1.0
* @since 17
*/
public class Ex3 {
public static void main(String[] args){
// try(FileReader reader = new FileReader("存在的文本文件")){
try(FileReader reader = new FileReader("")){
char[] buf = new char[1024];
int len = 0;
StringBuilder su = new StringBuilder();
while((len= reader.read(buf)) !=-1){
su.append(new String(buf,0,len));
}
char[] c1 = su.toString().toCharArray();
Map<String,Integer> map = new HashMap<>();
for (char c : c1){
if (c == '\r' || c== '\n' || c== ' ') continue;
String k = String.valueOf(c);
if(map.containsKey(k)){
map.put(k,map.get(k)+1);
}else{
map.put(k,1);
}
}
List<Map.Entry<String,Integer>> list = new ArrayList(map.entrySet());
list.sort((a,b)->b.getValue() -a.getValue());
System.out.println(list);
}catch (FileNotFoundException e){
throw new RuntimeException(e);
}catch (IOException e){
throw new RuntimeException(e);
}
}
}