package 字符流;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.TreeMap;
public class Demo4 {
/**
* 获取一个文本上每个字符出现的次数,将结果写在times.txt上
* 1.创建输入流,关联一个文件夹或文件
* 2.创建一个map集合存储字符和出现的次数
* 3.读取文本,将文本中的字符存入集合
* 4建立一个字符输出流
*
* @throws IOException
*
*/
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new FileReader("aaa.txt") );
// 从字符输入流中读取文本
TreeMap<Character, Integer> tm=new TreeMap<>();
int line;
while((line=br.read())!=-1) {
char ch=(char)line;
if(tm.containsKey(ch)) {
tm.put(ch,tm.get(ch)+1);
}else{
tm.put(ch,1);
}
}
br.close();
BufferedWriter bw=new BufferedWriter(new FileWriter("times.txt"));
for (Character ch : tm.keySet()) {
switch (ch) {
case '\n' :bw.write("\\n"+"="+tm.get(ch));
break;
case '\r':bw.write("\\r"+"="+tm.get(ch));
break;
case '\t': bw.write("\\r"+"="+tm.get(ch));
break;
default: bw.write(ch+"="+tm.get(ch));
break;
}
}
bw.close();
}
}
字符串和字符怎么能同时用输出流写出去呢?大神们能给解释解释吗
|
|