开发者社区> 问答> 正文

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

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

展开
收起
游客pklijor6gytpx 2019-12-02 15:36:18 872 0
1 条回答
写回答
取消 提交回答
  • import java.io.BufferedReader;
    import java.io.FileReader;
    
    public final class MyUtil {
    
        // 工具类中的方法都是静态方式访问的因此将构造器私有不允许创建对象(绝对好习惯)
        private MyUtil() {
            throw new AssertionError();
        }
    
        /**
         * 统计给定文件中给定字符串的出现次数
         * 
         * @param filename  文件名
         * @param word 字符串
         * @return 字符串在文件中出现的次数
         */
        public static int countWordInFile(String filename, String word) {
            int counter = 0;
            try (FileReader fr = new FileReader(filename)) {
                try (BufferedReader br = new BufferedReader(fr)) {
                    String line = null;
                    while ((line = br.readLine()) != null) {
                        int index = -1;
                        while (line.length() >= word.length() && (index = line.indexOf(word)) >= 0){
                            counter++;
                            line = line.substring(index + word.length());
                        }
                    }
                }
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            return counter;
        }
    
    }
    
    2019-12-02 15:36:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载