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

Posted breakyizhan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试题:写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。相关的知识,希望对你有一定的参考价值。

[

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;
    }

}
]
转载请保留页面地址:https://www.breakyizhan.com/javamianshiti/2470.html

以上是关于Java面试题:写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。的主要内容,如果未能解决你的问题,请参考以下文章

Java——关于Java中I/O流的面试题

面试题

Java经典面试题+答案(全)

那些经常被遗忘的 Java 面试题

Java——5个关于Java中I/O流的面试题

Java IO面试题Java面试题