Java IO流练习题-获取文本上每个字符出现的次数
生活随笔
收集整理的這篇文章主要介紹了
Java IO流练习题-获取文本上每个字符出现的次数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
獲取文本上每個(gè)字符出現(xiàn)的次數(shù)
提示:遍歷文本的每一個(gè)字符;字符及出現(xiàn)的次數(shù)保存在Map中;將Map中數(shù)據(jù)寫(xiě)入文件
package BYSSSExer2;import org.junit.Test;import java.io.*; import java.util.HashMap; import java.util.Map; import java.util.Set;/*** @author Baiysmart* @create 2020-03-28 10:57*/ /*獲取文本上字符出現(xiàn)的次數(shù),并把數(shù)據(jù)寫(xiě)入文件1 遍歷文本每一個(gè)字符2 字符出現(xiàn)的次數(shù)存在Map中3 把Map中的數(shù)據(jù)寫(xiě)入文件*/ public class WordCountTest {@Testpublic void testWordCount() throws IOException {//創(chuàng)建Map集合Map<Character,Integer> map = new HashMap<>();//2 遍歷每一個(gè)字符,每個(gè)字符出現(xiàn)的次數(shù)放到map中FileReader fr = new FileReader("hello.txt");int c = 0;while ((c = fr.read())!=-1){//int 還原 charchar ch = (char) c;//判斷char是否在map中第一次出現(xiàn)if(map.get(ch)==null){map.put(ch,1);}else{map.put(ch,map.get(ch)+1);}}//3 把map中數(shù)據(jù)存在文件count.txt//3.1 創(chuàng)建WriterBufferedWriter bw = new BufferedWriter(new FileWriter("count.txt"));//3.2 遍歷map,再寫(xiě)入數(shù)據(jù)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 '\n' :bw.write("換行="+entry.getValue());break;default:bw.write(entry.getKey()+"="+entry.getValue());break;}bw.newLine();}fr.close();bw.close();} }
總結(jié)
以上是生活随笔為你收集整理的Java IO流练习题-获取文本上每个字符出现的次数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Lucene.Net如何实现搜索结果分类
- 下一篇: 20155216 2016-2017-2