import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
class Test{
public static void main(String[] args){
BufferedReader br =null;
BufferedWriter bw =null;
try{
Map<Character,Integer> map = new HashMap<>();
br=new BufferedReader(new FileReader("file.txt"));
int c=0;
//br.read()方法读的是字符的ASCII码
while((c=br.read())!=-1){
char ch=(char)c;
//如果对应的字符个数为null,那就直接给该字符赋值1
if(map.get(ch)==null){
map.put(ch,1);
}else{
//如果个数已存在,那就直接得到它的个数再加1就可以了
map.put(ch,map.get(ch)+1);
}
}
bw=new BufferedWriter(new FileWriter("wordcount.txt"));
Set<Map.Entry<Character,Integer>> entrySet =map.entrySet();
for(Map.Entry<Character,Integer> entry:entrySet){
switch(entry.getKey()){
case ' ':
bw.write("空格="+entry.getValue());
break;
case '\t':
bw.write("tab键="+entry.getValue());
break;
case '\r':
bw.write("回车键="+entry.getValue());
break;
case '\n':
bw.write("换行键="+entry.getValue());
break;
default:
bw.write(entry.getKey()+"="+entry.getValue());
break;
}
bw.newLine();
}
}catch (IOException e){
e.printStackTrace();
}finally{
if(bw!=null){
try{
bw.close();
}catch (IOException e){
e.printStackTrace();
}
}
if(br!=null){
try{
br.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
}
}
Java统计一个字符文件中所有字符的出现个数
最新推荐文章于 2023-11-18 11:08:19 发布