统计某字符串在文件中出现的次数

有几点注意事项:

  • 默认文件里的字符串是按行进行统计的,如果字符串存在跨行的情况,那需要考虑把字符串进行拼接、去除换行符。这里未考虑
  • 字符串里出现的字符串的次数的问题可以使用: indexOf 方法配合 substring 方法获取;正则表达匹配;替换指定单词未空,通过缩减长度 / 单词长度,即未次数。这里只用正则实现
package constxiong.interview;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 统计某字符串在文件中出现的次数 *  * @author ConstXiong */public class TestCountWord {public static void main(String[] args) {String filePath = "/Users/handsome/Desktop/a.txt";String word = "ConstXiong";System.out.println(countWordAppearTimes(filePath, word));}/** * 统计每行的出现单词的出现次数之后 * @param filePath * @param word * @return */public static int countWordAppearTimes(String filePath, String word) {int times = 0;FileReader fr = null;BufferedReader br = null;try {fr = new FileReader(filePath);br = new BufferedReader(fr);String line;while ((line = br.readLine()) != null) {//读文件每行字符串//按照单词正则查找出现次数Pattern p = Pattern.compile(word);Matcher m = p.matcher(line);while (m.find()) {times++;}}} catch (IOException e) {e.printStackTrace();} finally {if (fr != null) {try {fr.close();} catch (IOException e) {e.printStackTrace();}}if (br != null) {try {br.close();} catch (IOException e) {e.printStackTrace();}}}return times;}}

给TA打赏
共{{data.count}}人
人已打赏
Java

什么是递归?递归的优缺点是什么?

2020-7-31 3:15:00

Java

什么是复杂度?为什么要进行复杂度分析?

2020-7-31 3:18:20

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索