写入一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。...

编程入门 行业动态 更新时间:2024-10-22 22:58:30

写入一个方法,输入一个文件名和一个<a href=https://www.elefans.com/category/jswz/34/1771434.html style=字符串,统计这个字符串在这个文件中出现的次数。..."/>

写入一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。...

 

 1 /**
 2      * 写入一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
 3      * @param fileName 文件名
 4      * @param str 查找的字符串
 5      * @return
 6      * @throws Exception
 7      */
 8     //方法一
 9     public static int funCount1(String fileName,String str) throws Exception {
10         int count = 0;
11         BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
12         String line ;
13         StringBuilder sb = new StringBuilder();
14         while((line = bf.readLine() )!= null) {
15             sb = sb.append(line);
16         }
17         int a = 0;
18         while((a = sb.indexOf(str)) != -1) {
19             sb = sb.delete(a, a + str.length());
20             count++;
21         }
22         return count;
23     }
24     
25     //方法二:正则表达式
26     public static int funCount2(String fileName,String str) throws Exception {
27         int count =0 ;
28         BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));
29         String line ;
30         StringBuilder sb = new StringBuilder();
31         while((line = bf.readLine() )!= null) {
32             sb = sb.append(line);
33         }
34         String pattern = ".*" + str + ".*";
35         while(Pattern.matches(pattern, sb.toString())) {
36             count ++;
37             int a = sb.indexOf(str);
38             sb.delete(a, a + str.length());
39         }
40         return count;
41     }

个人并不推荐正则表达式来写这道题,因为都要用到indexOf,很明显用正则还需要编译正则表达式匹配模式,然后对输入字符串进行解释和匹配操作;很明显复杂了些;

转载于:.html

更多推荐

写入一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。...

本文发布于:2024-03-06 14:00:52,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1715499.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   在这个   文件名   次数   文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!