import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.TreeMap;
public class Test2 {
/**
* @param args
* ,统计某个.txt中每个字符出现的次数 统计结果按照字典顺序排列写入到times.txt中
* @throws IOException
*/
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new FileReader("day20.java")); //创建输入流对象,关联day20.java
TreeMap<Character, Integer> tm = new TreeMap<>(); //创建双列集合
int ch;
while((ch = br.read()) != -1) { //读字符
char key = (char)ch; //读到的字符会提升为int类型,所以强转为char才能存储在双列集合中
/*if(!tm.containsKey(key)) { //如果集合中不包含这个键
tm.put(key, 1); //就将键和值为1存储
}else { //如果集合包含这个键
tm.put(key, tm.get(key) + 1); //就将键和值加1存储
}*/
tm.put(key, !tm.containsKey(key) ? 1 : tm.get(key) + 1);
}
br.close();
BufferedWriter bw = new BufferedWriter(new FileWriter("times.txt")); //创建输出流对象,关联times.txt
for(Character key : tm.keySet()) { //遍历双列集合
switch(key) { //是否匹配
case '\t': //如果是\t
bw.write("\\t" + "=" + tm.get(key)); //就将\t写出
break;
case '\n':
bw.write("\\n" + "=" + tm.get(key));
break;
case '\r':
bw.write("\\r" + "=" + tm.get(key));
break;
default:
bw.write(key + "=" + tm.get(key));
}
bw.newLine(); //写出换行
}
bw.close();
}
}
|
|