package testdemo;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class testSelectCount {
/**
* 写入一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数。
* @param fileName 文件名
* @param str 查找的字符串
* @return
* @throws Exception
*/
public int selectCountInfile(String filename,String str) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(filename)));
StringBuilder readLine=new StringBuilder();
String line;
/**
* BufferedReader的readLine()方法用来读一行文字, 一行被视为由换行符('\ n'),回车符('\ r')中的任何一个或随后的换行符终止
*/
while((line=br.readLine())!=null) {
readLine.append(line);//把读到的一行文字追加到StringBuilder字符串中
}
int index;int count = 0;
/**
* StringBuilder的indexOf(string类型)方法:返回指定子字符串第一次出现的字符串内的索引
* 如果字符串参数作为该对象中的子字符串发生,则返回第一个这样的子字符串的第一个字符的索引; 如果它不作为子串发生,则返回-1
*/
while ((index=readLine.indexOf(str))!=-1) {
/**
* 删除此序列的子字符串中的字符
*/
readLine.delete(0, index+str.length());
count++;
}
return count;
}
}