zoukankan      html  css  js  c++  java
  • IO流,获取文本上字符出现的次数。

    public class Test3{

      public static void main(String[] args){

       1.创建带缓冲的输入流对象

        BufferedReader br = new BufferedReader (new FileReader("zzz.txt"));

       2.创建双列集合对象TreeMap

        TreeMap<Character,Integer> tm = new TreeMap<>();

       3.将读到的字符存储在在双列集合中,存储的时候要做判断,如果不包含这个键,就将键和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);]

        }

     4.关闭输入流

        br.close();  

       5.创建输出流对象

        BufferedWriter bw = new BufferedWriter (new FileWriter("times.txt"));

     6.遍历集合将集合中的内容写到times.txt中

        for(Character key : tm.keySet()){

         Switch(key) {

          case ' ':

            bw.write("\t" + "=" +tm.get(key));

            break;

          case ' ':

            bw.write("\n" + "=" +tm.get(key));

            break;

          case ' ':

            bw.write("\r" + "=" +tm.get(key));

            break;

          default:

             bw.write(key + "=" + tm.get(key));         //写出键和值

            break;

        }

         bw.newLine(); 

      }

      7.关闭输出流

        bw.close();                 

      }

    }

  • 相关阅读:
    BZOJ 3506 机械排序臂 splay
    BZOJ 2843 LCT
    BZOJ 3669 魔法森林
    BZOJ 2049 LCT
    BZOJ 3223 文艺平衡树 splay
    BZOJ 1433 假期的宿舍 二分图匹配
    BZOJ 1051 受欢迎的牛 强连通块
    BZOJ 1503 郁闷的出纳员 treap
    BZOJ 1096 ZJOI2007 仓库设计 斜率优化dp
    BZOJ 1396: 识别子串( 后缀数组 + 线段树 )
  • 原文地址:https://www.cnblogs.com/wangffeng293/p/13199318.html
Copyright © 2011-2022 走看看