package src.com.zhang.IO.IOStreamTest;
import org.junit.Test;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class WordFrequencyStatistics {
@Test
public void test(){
FileReader fr=null;
BufferedWriter bw=null;
try {
Map<Character,Integer> map=new HashMap<>();
fr=new FileReader("src\\com\\zhang\\IO\\hello1.txt");
int c=0;
while((c=fr.read())!=-1){
char ch=(char)c;
if (map.get(ch)==null){
map.put(ch,1);
}else{
map.put(ch,map.get(ch)+1);
}
}
File file = new File("src\\com\\zhang\\IO\\map.txt");
if (file.exists()){
System.out.println("file存在");
}
bw=new BufferedWriter(new FileWriter(file));
//遍历map,再写入数据
Set<Map.Entry<Character, Integer>> entries = map.entrySet();
for (Map.Entry<Character, Integer> characterIntegerEntry : map.entrySet()) {
if (characterIntegerEntry.equals(' ')){
bw.write("空格="+characterIntegerEntry.getValue());
bw.newLine();
} else if (characterIntegerEntry.equals('\n')) {
bw.write("换行="+characterIntegerEntry.getValue());
bw.newLine();
} else if (characterIntegerEntry.equals('\t')) {
bw.write("制表符="+characterIntegerEntry.getValue()+"\n");
}
else {
bw.write(characterIntegerEntry.getKey()+"="+characterIntegerEntry.getValue()+"\n");
}
}
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
try {
fr.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
try {
if (bw!=null)
bw.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
统计文本文件中各个字符出现的次数
最新推荐文章于 2022-12-09 22:25:16 发布