话不多说直接上代码
package Test;
import java.io.BufferedReader;
import java.io.FileReader;
/**
* 写一个方法输入一个一个文件名和一个字符串,统计这个字符串出现的次数
* @author Administrator
*
*/
public final class MyUtil {
//测试方法
public static void main(String[] args) {
System.out.println(MyUtil.countWordInFile("E:\\course.txt", "Workbench"));
}
// 工具类中的方法都是静态方式访问的因此将构造器私有不允许创建对象(绝对好习惯)
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)) {
System.out.println("br="+br);
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;
}
}