思路:
1.遍历文本中每一个字符
2.字符出现的次数存在map中
3.把map中的数据写入文件
//1.创建map集合
Map<Character,Integer> map=new HashMap<Character,Integer>();
//2.遍历每一个字符,每一个字符出现的次数放到map中
FileReader reader=new FileReader("a.txt");
int c=0;
while((c=reader.read())!=-1){
//int还原char
char ch=(char)c;
//判断char是否在map中第一次出现
if(map.get(ch)==null){
map.put(ch,1);
}else{
map.put(ch,map.get(ch)+1);
}
}
//3.把map中数据存在文件count.txt
//创建Writer
BufferedWriter bw=new BufferedWriter(new FileWriter("count.txt"));
//遍历map,再写入数据
for(Entry<Character,Integer> entry:map.entrySet()){
switch(entry.getKey()){
case ' ':
bw.write("空格="+entry.gerValue());
break;
case '\t':
bw.write("tab="+entry.gerValue());
break;
case '\r':
bw.write("回车="+entry.gerValue());
break;
case '\n':
bw.write("换行="+entry.gerValue());
break;
default:
bw.write("entry.getKey()"+"="+entry.gerValue());
break;
}
bw.newLine();
}
//4.关流
reader.close();
bw.close();