c语言sscanf函数的用法是什么
300
2022-12-01
Java笔记13:统计文件中每个字符出现的次数
一、代码实现
import java.io.*;import java.util.*;/**功能:统计文件中每个字符出现的次数思路:1.定义字符读取(缓冲)流2.循环读取文件里的字符,用一个String类型变量接收(newValue)3.把newValue变成字符数组 char[] ch = newValue.toCharArray();4.遍历ch,将ch中所有的字符存入一个Map集合中(TreeSet),键对应字符,值对应字符出现的次数5.遍历打印map集合中的键和值,也就是字符出现的次数**/public class Stat { public static void main(String[] args) { long startTime = System.currentTimeMillis(); stat(new File("e:\\input.txt")); long endTime = System.currentTimeMillis(); System.out.println("\n运行时间:" + (endTime - startTime) + "毫秒"); } public static void stat(File file){ BufferedReader bfr = null; //定义字符读取(缓冲)流 try{ bfr = new BufferedReader(new FileReader(file)); //给该流赋值 String value = null; //定义一个临时接收文件中的字符串变量 String newValue = ""; //接收文件中所有字符串的变量 while((value = bfr.readLine()) != null){ //开始读取文件中的字符 newValue = newValue + value; //存入newValue变量中 } char[] ch = newValue.toCharArray(); //把newValue变成字符数组 TreeMap
二、测试结果
1 在E:\input.txt中输入两行数据:
Hello World!
您好世界!
运行结果为:
(1次) !(1次) H(1次) W(1次) d(1次) e(1次) l(3次) o(2次) r(1次) 世(1次) 好(1次) 您(1次) 界(1次) !(1次) ,(1次)
运行时间:1毫秒
注:上面第1个没显示出来的字符是空格。
2 在E:\inut.txt中多放些数据,比如放了1.2M的数据,运行时间是3秒。
这里可以看出,这个算法仅仅是实现了最基本需求,当文件很大时,需要很长的时间才能得出结果。如果是在真实项目里,需要提高此算法的效率,或改用其它思路来实现。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~