package time_04_14;import org.junit.jupiter.api.Test;import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;/*** 练习3:获取文本上字符出现的次数,把数据写入文件** 思路:* 1.遍历文本每一个字符* 2.字符出现的次数存在Map中** Map<Character,Integer> map = new HashMap<Character,Integer>();* map.put('a',18);* map.put('你',2);** 3.把map中的数据写入文件*/
public class WordCount {/*说明:如果使用单元测试,文件相对路径为当前module如果使用main()测试,文件相对路径为当前工程*/@Testpublic void testWordCount() {FileReader fr = null;BufferedWriter bw = null;try {//1.创建Map集合Map<Character, Integer> map = new HashMap<Character, Integer>();//2.遍历每一个字符,每一个字符出现的次数放到map中fr = new FileReader("D:\\Program Files\\IDEA_java_code\\src\\time_04_14\\dbcp.txt");int c = 0;while ((c = fr.read()) != -1) {//int 还原 charchar 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//3.1 创建Writerbw = new BufferedWriter(new FileWriter("D:\\Program Files\\IDEA_java_code\\src\\time_04_14\\wordcount.txt"));//3.2 遍历map,再写入数据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':      //\t表示tab 键字符bw.write("tab键=" + entry.getValue());break;case '\r':      //bw.write("回车=" + entry.getValue());break;case '\n':      //bw.write("换行=" + entry.getValue());break;default:bw.write(entry.getKey() + "=" + entry.getValue());break;}bw.newLine();}} catch (IOException e) {e.printStackTrace();} finally {//4.关流if (fr != null) {try {fr.close();} catch (IOException e) {e.printStackTrace();}}if (bw != null) {try {bw.close();} catch (IOException e) {e.printStackTrace();}}}}
}

Java : 统计txt文件出现多少个字,每个字出现多少次相关推荐

  1. Java读写txt文件案例-统计学生名单

    Java读写txt文件案例-统计学生名单,具体应用请看代码中的实现原理. package shuzu; import java.io.BufferedReader; import java.io.Bu ...

  2. Java读取txt文件,并且对其文件内容进行统计排序

    1.业务需求 : 根据使用量将下列数据进行排序 然后按照使用量的高低进行 数据展示 2.实现代码 import java.io.BufferedReader; import java.io.File; ...

  3. java读取txt文件乱码解决方案

    因为txt默认的选项是ANSI,即GBK编码.GBK和GB2312都是中文编码,在这里解释一下两者的区别. 总体说来,GBK包括所有的汉字,包括简体和繁体.而gb2312则只包括简体汉字. GBK: ...

  4. java对txt文件操作_Java读取txt文件信息并操作。

    一.java读取txt文件内容 importjava.io.BufferedInputStream;importjava.io.BufferedReader;importjava.io.File;im ...

  5. java读取txt文件中的内容

    java读取txt文档中的内容:在这个地方我们输入一个txt文件的路径,就可以读取出txt文档中的内容: public static String readStringFromtxt(String t ...

  6. java读取txt文件

    java如何读入txt文本文件的内容:java从txt文件中读取内容有多种方法,包括按照行读取文件,按照字节读取文件,首先我们来看看按照行读取txt文件中的内容的一般的步骤: 首先是我们创建一个fil ...

  7. JAVA编程TXT文件_java读写txt文件的方法

    java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...

  8. [java进阶]1.Java读取txt文件和写入txt文件

    1. Java读取txt文件 import java.io.*; import java.util.ArrayList; import java.util.List;public class unit ...

  9. java读取TXT文件的方法

    java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路 ...

最新文章

  1. 《C++面向对象高效编程(第2版)》——2.20 什么是多线程安全类
  2. Linux之文件管理(一)
  3. js判断浏览器的类型。。。
  4. Android 项目中常用到的第三方组件
  5. tiny4412初期环境搭建
  6. CCNP-第十篇-BGP(二)
  7. dedecms 在模板里引入php文件夹,dedecms如何添加并引入php文件
  8. javascript-布尔-空与未定义-查看数据类型
  9. [BZOJ4987]Tree
  10. mysql for update缺点_有关mysql的for update以及 死锁问题
  11. Maven工程打成一个jar包
  12. Ip绑定域名tomcat配置
  13. TJUSCSST第三次作业
  14. ios 绘制线框_iOS中画矩形的几种方法总结
  15. java p39课后答案_面向对象程序设计(JAVA)答案
  16. 推荐好用的ssh远程连接 linux的工具
  17. web网页设计期末课程大作业 基于HTML仿淘宝电商网站项目的设计与实现 企业网站制作
  18. chrome遭劫持7654网站,怎么办?
  19. 人工智能 4.不确定性推理方法
  20. 用python证明给定范围的欧拉常数

热门文章

  1. 3月27日,我们在毛概课上进行了淞沪会战主题的汇报
  2. 【OpenCV DNN】Flask 视频监控目标检测教程 02
  3. 终端运行ipynb文件
  4. 关于COMMIT WORK 和COMMIT WORK AND WAIT的区别及ROLLBACK WORK
  5. RationalDMIS 2020 图纸中位置度评价标有最大实体要求如何实现?
  6. VS2010出现fatal error C1902: 程序数据库管理器不匹配;请检查安装
  7. 优思学院|中质协绿带考试具体是要什么流程才能拿证呢?
  8. Kali 使用已破解的 BurpSuite 替换默认 BurpSuite
  9. 一文搞懂漏洞严重程度分析
  10. 清华大学计算机系人才流失,清华教授直言:博士名额稀缺,人才流失和人才供给不足问题突显!...