java 代码
/**
* 读取文本文件(path),获取某字符串(str)出现的次数
* @param path 指定一个文件路径(不能为空)
* @param str 目标字符串
* @return 出现次数
*/
private static int getStrCount(String path, String str){
int count = 0;
try {
// 读取文件
List<String> strings = Files.readAllLines(Paths.get(path));
for (String string : strings) {
// 当存在该字符串时,进行计数并且将原字符串(出现的第一个位置)替换为空字符串
while(string.contains(str)){
count++;
string = string.replaceFirst(str, "");
}
}
} catch (IOException e) {
e.printStackTrace();
}
return count;
}
测试
在对应位置创建文本文件(1.txt):
hello world hello
hello
world
ni hao shuai
shi bu shi a
hello
short
在 main 方法中执行以下语句:
含义是查找 hello 这个字符串在文本文件 1.txt 中出现的次数。
System.out.println(getStrCount("D:\\ideaProjects\\java-demo\\target\\classes\\files\\1.txt", "hello"));