Java_基础—获取文本上字符出现的次数
来源:互联网 发布:禁止在淘宝网上出售 编辑:程序博客网 时间:2024/05/14 01:30
package com.sora.test;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.TreeMap;public class Test5 { /* * 获取一个文本上每个字符出现的次数,将结果写在times.txt上 * 分析: * ① 创建带缓冲的输入流对象 * ② 创建双列集合对象TreeMap * ③ 将读到的字符存储在双列集合中,存储的时候要判断,如果不包含这个键,就将键和1存储,如果包含这个键,就将该键和值加1存储 * ④ 关闭输入流 * ⑤ 创建输出流对象 * ⑥ 遍历集合将集合中的内容写到times.txt * ⑦ 关闭输出流 */ public static void main(String[] args) throws IOException { //① 创建带缓冲的输入流对象 BufferedReader br = new BufferedReader(new FileReader("zzz.txt")); //② 创建双列集合对象TreeMap TreeMap<Character,Integer> tm = new TreeMap<>(); //③ 将读到的字符存储在双列集合中,存储的时候要判断,如果不包含这个键,就将键和1存储,如果包含这个键,就将该键和值加1存储 int ch; while((ch = br.read()) != -1){ char c = (char)ch; //强制类型转换 /*if(!tm.containsKey(c)){ tm.put(c, 1); }else{ tm.put(c, tm.get(c) + 1); }*/ tm.put(c, !tm.containsKey(c) ? 1 : tm.get(c) + 1); } //④ 关闭输入流 br.close(); //⑤ 创建输出流对象 BufferedWriter bw = new BufferedWriter(new FileWriter("times.txt")); //⑥ 遍历集合将集合中的内容写到times.txt for(Character key : tm.keySet()){ switch(key){ case '\t': bw.write("\\t" + "=" + tm.get(key)); break; case '\n': bw.write("\\n" + "=" + tm.get(key)); break; case '\r': bw.write("\\r" + "=" + tm.get(key)); break; default: bw.write(key + "=" +tm.get(key)); //写出键和值 } bw.newLine(); } //⑦ 关闭输出流 bw.close(); }}
阅读全文
0 0
- Java_基础—获取文本上字符出现的次数
- Java_基础—统计字符串中每个字符出现的次数
- 获取一个文本上每个字符出现的次数,将结果写在times.txt上
- 获取一个文本上每个字符出现的次数,将结果写在times.txt上
- 获取一个文本上每个字符出现的次数,将结果写在自定义的文本上(times.txt)
- sql_获取字符出现的次数
- 获取出现次数最多的字符及其次数
- Java_基础—字符流的拷贝
- 统计文本中各个字符出现的次数
- 统计读入文本中双字符出现的次数
- shell如何统计文本中每种字符的出现次数
- java_字符串中子字符串出现的次数
- 字符出现的次数
- 获取某个字符在字符串中出现的次数
- PHP获取字符串中出现次数最多的字符
- 获取一字符串中,每一个字符出现的次数。
- 如何获取字符串中相同字符出现的次数
- 键值对案例:获取字符串中字符出现的次数
- MySQL创建表 错误代码1064
- java面试题:制造回文字符串
- Spark踩坑记——Spark Streaming+Kafka
- 多维数组使用递归方法获取全排列组合
- hdu 6043
- Java_基础—获取文本上字符出现的次数
- 【洛谷P3808】【模版】AC自动机(简单版)
- 解决eclipse 不能自动import包的问题
- IntelliJ IDEA编写javaweb----jsp中out对象无法使用(2)
- 从头学Qt Quick(1) --体验快速构建动态效果界面
- centos下安装tomcat
- Linux使用高压缩率的lzma和xz
- C#中将dataGridView导到excel
- TCP协议与UDP协议的区别