/*** @author 影子* @create 2021-12-19-11:49**  * 练习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(){BufferedWriter bw = null;FileReader fr = null;try {//1.创建Map集合HashMap<Character, Integer> map = new HashMap<>();//2.遍历每一个字符,每一个字符出现的次数放到map中fr = new FileReader("hello.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("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 {if (fr != null){try {fr.close();} catch (IOException e) {e.printStackTrace();}}if (bw != null){try {bw.close();} catch (IOException e) {e.printStackTrace();}}}}
}

获取文本上字符出现的次数,把数据写入文件相关推荐

  1. Java IO流练习题-获取文本上每个字符出现的次数

    获取文本上每个字符出现的次数 提示:遍历文本的每一个字符:字符及出现的次数保存在Map中:将Map中数据写入文件 package BYSSSExer2;import org.junit.Test;im ...

  2. python爬取下拉列表数据_Python+selenium之获取文本值和下拉框选择数据

    Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...

  3. 【Java-IO】File、搜索删除剪切、字符集、字符编码、字节流、将内存中的数据写入文件、字符流、缓冲流、Scanner、格式化输出、数据流、对象流、序列化与反序列化、Files工具类

    IO 文章目录 IO 简介 File 分隔符.大小写 常用方法 练习:搜索.删除.剪切 字符集(Character Set) 字符编码(Character Encoding) 字符编码比较 乱码 字节 ...

  4. php接收post写入文件,PHP中Post和Get获取数据写入文件中

    有时候Post或者Get传过来的数据我们不知道它是个什么样的形式,它可能是JSON格式或者就是简单提交过来的数据,这时候我们可以把他写入到文本中,就可以看到传过来的数据是什么格式了. $val = & ...

  5. c语言将数据写入文件后乱码_C语言中写入文件的字符数组为乱码,但整形数据却正常!!!...

    在TC中~#include#include#include#include#includecharstr[10];staticcharstr2[10]="1234";structs ...

  6. JSK-398 字符$出现的次数【入门】

    字符$出现的次数 设计一个程序,统计输入文本中字符$出现的次数,并将结果输出. 输入格式 输入有若干行,以文件结束符 EOF 结尾,每行都是字符串形式,字符串长度小于 1000. 输出格式 输出字符$ ...

  7. springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格

    springMVC获取异步请求的参数 JQuery发送异步请求回顾 <a href="javascript:void(0);" id="testAjax" ...

  8. 文本操作的相关概念和方法+pickle序列化+csv文件操作+操作系统命令(os和os.path)+shutil模块+zipfile模块+递归算法打印目录树

    目录 一.文件操作 1.文本文件和二进制文件 2.文件操作相关模块概述 3.文件文本的写入 4.中文乱码问题的解决 5.close()关闭文件流--try异常管理 6.关闭流要点:_with上下文管理 ...

  9. Web网页自动化实战《4.获取所有酒店的名字、价格、评分信息,并写入文件》上篇...

    目录 一.find_elements()的作用 1.获取当前页面中所有酒店名称的元素 2.获取当前页面中所有酒店价格的元素 3.获取当前页面中所有酒店评分的元素 二.分别拿到每家的价格.评分.酒店名并 ...

最新文章

  1. ASP.NET Core开发之HttpContext
  2. 【太阳软件】动态换ip软件:反爬虫对抗对数据分析的影响
  3. 【技术综述】人脸年龄估计研究现状
  4. PMCAFF | 产品经理如何提升自己的配色能力?
  5. mysql数据库连接池_MySql数据库连接池
  6. pythin怎么根据月份获取月初和月末_数据统计丨7月份塑料市场明显回暖,8月份是否延续乐观行情?...
  7. 职高中专的模块化课程设计难点
  8. 配对交易方法_COVID下的自适应配对交易,一种强化学习方法
  9. 2017蓝桥杯省赛---java---C---2(兴趣小组)
  10. css+div导航条样式
  11. 智慧城市发展未来PSD分层海报模板|科技突破你的想象!
  12. 区块链爆史诗级漏洞,可完全控制虚拟货币交易!
  13. 关于Objective-C 对象release操作的一个小问题探讨
  14. LeetCode 10.正则表达式匹配(动态规划)
  15. 20.有效的括号(力扣leetcode) 博主可答疑该问题
  16. 用100多行python代码开发java代码生成器
  17. Typora 安装包2021年11月最后一次免费版本的安装包下载V13.6.1
  18. JVM - 【字符串常量池】-XX:StringTableSize
  19. 古代一些练外丹的资料
  20. 在VIVADO上实现的非常简易的RISC-V CPU设计(来自《Verilog数字系统设计》夏宇闻著)

热门文章

  1. LVS负载均衡DR模式+keepalived
  2. 用SYS本地登录或远程登录引起ORA-01031错误
  3. 剑指offer——面试题31:连续子数组的最大和
  4. Leetcode 64. 最小路径和 -- DP算法
  5. hexo之next主题添加分类
  6. Java-API-Package:org.springframework.web.bind.annotation
  7. ZOJ - 3624
  8. vue-watch : 深度监控的语法格式--检测数据的tabledata这个数组的变化
  9. JSP三大指令、七大动作、九大对象
  10. linux下mysql的忘记root密码的解决办法