获取文本上字符出现的次数,把数据写入文件
/*** @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();}}}}
}
获取文本上字符出现的次数,把数据写入文件相关推荐
- Java IO流练习题-获取文本上每个字符出现的次数
获取文本上每个字符出现的次数 提示:遍历文本的每一个字符:字符及出现的次数保存在Map中:将Map中数据写入文件 package BYSSSExer2;import org.junit.Test;im ...
- python爬取下拉列表数据_Python+selenium之获取文本值和下拉框选择数据
Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...
- 【Java-IO】File、搜索删除剪切、字符集、字符编码、字节流、将内存中的数据写入文件、字符流、缓冲流、Scanner、格式化输出、数据流、对象流、序列化与反序列化、Files工具类
IO 文章目录 IO 简介 File 分隔符.大小写 常用方法 练习:搜索.删除.剪切 字符集(Character Set) 字符编码(Character Encoding) 字符编码比较 乱码 字节 ...
- php接收post写入文件,PHP中Post和Get获取数据写入文件中
有时候Post或者Get传过来的数据我们不知道它是个什么样的形式,它可能是JSON格式或者就是简单提交过来的数据,这时候我们可以把他写入到文本中,就可以看到传过来的数据是什么格式了. $val = & ...
- c语言将数据写入文件后乱码_C语言中写入文件的字符数组为乱码,但整形数据却正常!!!...
在TC中~#include#include#include#include#includecharstr[10];staticcharstr2[10]="1234";structs ...
- JSK-398 字符$出现的次数【入门】
字符$出现的次数 设计一个程序,统计输入文本中字符$出现的次数,并将结果输出. 输入格式 输入有若干行,以文件结束符 EOF 结尾,每行都是字符串形式,字符串长度小于 1000. 输出格式 输出字符$ ...
- springMVC获取异步请求的参数,返回异步请求数据(json),跨域访问简单了解,文件上传,与Restful风格
springMVC获取异步请求的参数 JQuery发送异步请求回顾 <a href="javascript:void(0);" id="testAjax" ...
- 文本操作的相关概念和方法+pickle序列化+csv文件操作+操作系统命令(os和os.path)+shutil模块+zipfile模块+递归算法打印目录树
目录 一.文件操作 1.文本文件和二进制文件 2.文件操作相关模块概述 3.文件文本的写入 4.中文乱码问题的解决 5.close()关闭文件流--try异常管理 6.关闭流要点:_with上下文管理 ...
- Web网页自动化实战《4.获取所有酒店的名字、价格、评分信息,并写入文件》上篇...
目录 一.find_elements()的作用 1.获取当前页面中所有酒店名称的元素 2.获取当前页面中所有酒店价格的元素 3.获取当前页面中所有酒店评分的元素 二.分别拿到每家的价格.评分.酒店名并 ...
最新文章
- ASP.NET Core开发之HttpContext
- 【太阳软件】动态换ip软件:反爬虫对抗对数据分析的影响
- 【技术综述】人脸年龄估计研究现状
- PMCAFF | 产品经理如何提升自己的配色能力?
- mysql数据库连接池_MySql数据库连接池
- pythin怎么根据月份获取月初和月末_数据统计丨7月份塑料市场明显回暖,8月份是否延续乐观行情?...
- 职高中专的模块化课程设计难点
- 配对交易方法_COVID下的自适应配对交易,一种强化学习方法
- 2017蓝桥杯省赛---java---C---2(兴趣小组)
- css+div导航条样式
- 智慧城市发展未来PSD分层海报模板|科技突破你的想象!
- 区块链爆史诗级漏洞,可完全控制虚拟货币交易!
- 关于Objective-C 对象release操作的一个小问题探讨
- LeetCode 10.正则表达式匹配(动态规划)
- 20.有效的括号(力扣leetcode) 博主可答疑该问题
- 用100多行python代码开发java代码生成器
- Typora 安装包2021年11月最后一次免费版本的安装包下载V13.6.1
- JVM - 【字符串常量池】-XX:StringTableSize
- 古代一些练外丹的资料
- 在VIVADO上实现的非常简易的RISC-V CPU设计(来自《Verilog数字系统设计》夏宇闻著)
热门文章
- LVS负载均衡DR模式+keepalived
- 用SYS本地登录或远程登录引起ORA-01031错误
- 剑指offer——面试题31:连续子数组的最大和
- Leetcode 64. 最小路径和 -- DP算法
- hexo之next主题添加分类
- Java-API-Package:org.springframework.web.bind.annotation
- ZOJ - 3624
- vue-watch : 深度监控的语法格式--检测数据的tabledata这个数组的变化
- JSP三大指令、七大动作、九大对象
- linux下mysql的忘记root密码的解决办法